我正在開發一個應用程序,當有傳入事件時顯示通知。當用戶點擊通知時,他們將被帶到應用程序中具有特定片段的活動。在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