2

Androidアプリが通知をクリックして開始されたか、通常の開始で開始されたかを追跡する方法はありますか?

4

2 に答える 2

4

通知の PendingIntent を作成するために使用する Intent に エクストラを入れることができます。

公式ガイドから:

// Instantiate a Builder object.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
// Creates an Intent for the Activity
Intent notifyIntent =
        new Intent(new ComponentName(this, ResultActivity.class));
// Sets the Activity to start in a new, empty task
notifyIntent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK);
// Creates the PendingIntent
PendingIntent notifyPendingIntent =
        PendingIntent.getActivity(
        this,
        0,
        notifyIntent
        PendingIntent.FLAG_UPDATE_CURRENT
);

// Puts the PendingIntent into the notification builder
builder.setContentIntent(notifyPendingIntent);
// Notifications are issued by sending them to the
// NotificationManager system service.
NotificationManager mNotificationManager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Builds an anonymous Notification object from the builder, and
// passes it to the NotificationManager
mNotificationManager.notify(id, builder.build());

追加するだけnotifyIntent.putExtra("fromNotification", true);

于 2013-08-23T13:12:31.147 に答える
4

通知に入れたインテントを定義するときに、ブール値のフラグを余分に追加します。次に、メイン アクティビティの開始時に、インテントにそのエクストラが含まれているかどうかを確認します。

于 2013-08-23T12:59:15.787 に答える