我正在开发一个应用程序,当有传入事件时显示通知。当用户点击通知时,他们将被带到应用程序中具有特定片段的活动。在Android 4.1.2的三星Galaxy Note 2上,这是有效的。但是,在Android 4.3的三星Galaxy S3上,该活动没有收到正确的操作,而是收到了意图“android.intent.action.MAIN”。当用户点击通知时未通过通知的意图/操作
此外,S3似乎并没有得到我在意图中的演员。注2收到罚款。
通知代码如下:
Intent launchIntent;
String myType, myAction;
// myType and myAction are programmatically set
launchIntent = new Intent(context, MainActivity.class);
launchIntent.putExtra("Type", myType);
launchIntent.setAction(myAction);
PendingIntent pendingIntent = PendingIntent.getActivity(context, -1, launchIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder noti = new NotificationCompat.Builder(
context).setContentTitle(context.getResources().getString(R.string.app_name))
setContentText(notificationMessage)
setSmallIcon(R.drawable.ic_stat_notify)
setContentIntent(pendingIntent)
setAutoCancel(true)
setWhen(System.currentTimeMillis())
setDefaults(Notification.DEFAULT_ALL);
notificationManager.notify(notifyId, noti.build());
有谁知道为什么它用1个备,而不是其他的作品?意图从4.1到4.3有任何变化吗?
谢谢。
您设置'launchIntent.setAction(myAction);'但您的'myAction = null'。什么是myAction值?为什么你要手动设置? –
myAction以编程方式设置,我使用它将信息传递给意图。在调用PendingIntent.getActivity()之前,我已经验证了该操作不是null,而是设置值。 – user1118764
另外,S3看起来并没有得到我在意图中的演员。注2收到罚款。 – user1118764