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()
使用して を取得しようとしましたが、getIntent()
エクストラはありません。アプリがまだ実行されていないときにエクストラを取得する方法はありますか?
私の活動はすべてsingleTop
です。