2016-09-21 9 views
-2

私のアプリはのリストア、再スケジュール、キャンセルの3つの項目の通知で構成されています。ユーザーはそのうちの3つを選択できます。ユーザーがのキャンセルを選択すると、通知がクリアされる必要があります。ユーザーがを選択してを復元または再スケジュールする場合は、その特定のクラスにする必要があります。通知のボタンクリックの背景機能を知るには?ここでユーザーが通知をクリックしたときに特定のクラスを開く方法は?

ここ

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()); 

}} 

ようMainActivity一見さんは

enter image description here

+0

このリンクをチェック:http://stackoverflow.com/questions/21925688/adding-button-action-in-custom-notification – prakash

答えて

0

のような通知の外観をしたいアクションに行き、それぞれが3つの別々の保留中のインテントを、作成されています。 3つすべてのボタンに同じものを使用しないでください。

関連する問題