我有接收推送通知的应用程序。这些推送通知包含有效负载。收到此通知时,我会解析这些有效负载并将其作为Bundle
添加到packageIntent
。
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);
最后,我将PendingIntent
作为"内容意图"添加到Notification
builder.setContentIntent(pendingIntent);
但是当我单击收到的Notification
时,打开的Activity
getIntent().getExtras()
上有一个空Bundle
.为什么会丢失?
尝试使用PendingIntent.FLAG_ONE_SHOT
代替PendingIntent. FLAG_UPDATE_CURRENT
还要检查AndroidManifest.xml
文件中应用程序标记内的android:allowBackup="true"