2016-09-21 202 views
-2

我的应用程序包含一个通知,其中有三个项目,如恢复,重新计划,取消,用户可以选择其中任意三项。当用户选择取消时,通知必须清除。当用户选择恢复或重新安排时,它必须去特定类。如何知道通知中按钮点击的背景功能?如何在用户点击通知时打开特定课程?

这里是MainActivity看的像

public class MainActivity extends AppCompatActivity { 

private String title = "Notification Title"; 
private String subject = "Notification Subject"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    showNotification(getApplicationContext()); 
} 

private void showNotification(Context context) { 
    Intent intent = new Intent(context, MainActivity.class); 
    intent.putExtra("LIST_MAIN_TITLE", title); 
    intent.putExtra("LIST_SUB_TITLE", subject); 
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
      intent, 0); 
    // NotificationCompat 
    NotificationCompat.Builder mBuilder = 
      new NotificationCompat.Builder(context) 
        .setSmallIcon(R.mipmap.ic_launcher) 
        .setContentTitle(title) 
        .setLights(0xFF0000FF, 100, 3000) 
        .setContentText(subject) 
        .addAction(R.drawable.ic_restore_black_24dp, "Restore", contentIntent) 
        .addAction(R.drawable.ic_schedule_black_24dp, "Re-Schedule", contentIntent) 
        .addAction(R.drawable.ic_cancel_black_24dp, "Cancel", contentIntent); 
    mBuilder.setContentIntent(contentIntent); 
    mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
    mBuilder.setAutoCancel(true); 
    NotificationManager mNotificationManager = 
      (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    mNotificationManager.notify(1, mBuilder.build()); 

}} 

这里是通知样子

enter image description here

+0

检查此链接:http://stackoverflow.com/questions/21925688/adding-button-action-in-custom-notification – prakash

回答

0

创建3个独立的悬而未决的意图,其中的每一个去你想要的操作。不要对所有三个按钮使用同一个按钮。

相关问题