プッシュ通知を受け取るアプリケーションがあります。これらのプッシュ通知にはペイロードが含まれています。この通知を受け取ると、これらのペイロードを解析し、Bundle
としてpackageIntent
に追加します。通知開始(PendingIntent)をクリックしてアクティビティを開始するエキストラを失う
Intent packageIntent = context.getPackageManager().
getLaunchIntentForPackage(Constants.PUSH_PACKAGE_NAME);
// putting bundle
packageIntent.putExtras(extras);
packageIntent.setAction(Long.toString(System.currentTimeMillis()));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, packageIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
最終的に私はNotification
builder.setContentIntent(pendingIntent);
に「コンテンツの意思」としてPendingIntent
を追加します。しかし、私が受け取ったNotification
をクリックしていたときに開くActivity
はそのgetIntent().getExtras()
に空Bundle
を持っています。なぜそれは失われますか?
でアプリケーションタグ内
android:allowBackup="true"
をチェックし、あなたのマニフェストを投稿してください。通知をクリックすると、あなたの 'Activity'はすでに開いていますか?あなたは 'Bundle'にカスタムオブジェクトを持っていますか、それとも' int'や 'String'のような普通のものですか? –