我在 Android 中遇到了这个奇怪的通知问题。我正在以这种方式创建通知:
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(context, MyClass.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
notificationIntent.putExtra("data", value);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification updateComplete = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(msg)
.setTicker(title)
.setWhen(System.currentTimeMillis())
.setContentIntent(contentIntent)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setSmallIcon(R.drawable.icon_notifications)
.build();
notificationManager.notify(100, updateComplete);
当应用程序正在运行(或在后台)并且用户单击通知时,一切正常。onNewIntent
被调用并且数据在附加中。但是当应用程序没有运行或在后台时,则onNewIntent()
不会被调用。我试图intent
从onCreate()
using中获得getIntent()
,但它从来没有额外的东西。当应用程序尚未运行时,是否有额外的功能?
我的活动都是singleTop
。