如何检查Activity是否从通知开始

Abb*_*ath 11 android

我有问题我的MainActivity可以通过3种方式创建:1)标准启动App 2)来自Service 3)来自通知点击.如何从通知点击开始检查?

通知代码:

private void createNotification()
{
    Log.d("service createNotification",MainActivity.TAG);
    Context context = getApplicationContext();
    Intent notificationIntent = new Intent(this,MainActivity.class);
    intent.putExtra(AppNames.IS_NOTIFICATION_INTENT,true);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
            notificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setContentTitle(this.getString(R.string.notification_title))
            .setContentText(this.getString(R.string.notification_text))             
            .setContentIntent(pendingIntent)             
            .setSmallIcon(R.drawable.ic_launcher);

    getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(AppNames.APP_NOTIFICATION, builder.getNotification());
}
Run Code Online (Sandbox Code Playgroud)

Ali*_*imi 7

intent.putExtra("started_from","notification");
Run Code Online (Sandbox Code Playgroud)

从通知中启动意图的代码,与其他startActivity调用相同的东西只是更改值,然后在您的活动中

String startedFrom = getIntent().getStringExtra("started_from");
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此问题:如何从Android上获取额外数据?

  • 这个方法不起作用,总是在所有3个案例中得到通知. (3认同)