2017-07-13 13 views
-3

プッシュ通知を受け取るアプリケーションがあります。これらのプッシュ通知にはペイロードが含まれています。この通知を受け取ると、これらのペイロードを解析し、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を持っています。なぜそれは失われますか?

+0

でアプリケーションタグ内android:allowBackup="true"をチェックし、あなたのマニフェストを投稿してください。通知をクリックすると、あなたの 'Activity'はすでに開いていますか?あなたは 'Bundle'にカスタムオブジェクトを持っていますか、それとも' int'や 'String'のような普通のものですか? –

答えて

1

PendingIntent. FLAG_UPDATE_CURRENT の代わりにPendingIntent.FLAG_ONE_SHOTを使用して試してみてもAndroidManifest.xmlファイル

+0

異なる「PendingIntent」フラグを使用すると、何も表示されません。 'allowBackup'はこの問題と何が関係していますか?そして、なぜこれがアップボートになったのですか? –

関連する問題