我有多個通知的問題,而putExtra
使用PendingIntent
。 Activity
getStringExtra
fom Intent
最後返回putExtra
,同時生成Notification
。從activityInventIntent中獲取額外的信息launchMode =「singleTop」與多個通知
讓我首先解釋完整的情況,如果我錯了,讓我正確。
首先我的Activity
的(假設它的MainActivity
)launchMode
是singleTop
。我將它設置爲manifest.i.e。
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
... />
現在我產生notifaction使用此代碼,
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Intent notifyIntent = new Intent(context,
MainActivity.class);
notifyIntent.putExtra("message", msg);
Log.i(TAG, msg);
notifyIntent.putExtra("title", notification_title);
Log.i(TAG, notification_title);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(
BeaconService.this, 0, notifyIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new Notification.Builder(
context).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(notification_title).setContentText(msg)
.setAutoCancel(true).setContentIntent(pendingIntent).build();
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notificationManager.notify(NOTIFICATION_ID, notification);
NOTIFICATION_ID++;
我還使用標誌PendingIntent.FLAG_UPDATE_CURRENT
。但是,while clicking on any Notification (let's say we've 5 notifactions) it just returns the fifth extra put while generating Notification all top four notification extra are just like lost somewhere
。
在我MainActivity
我也覆蓋onNewIntent
一樣,
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// getIntent() should always return the most recent
setIntent(intent);
if (intent.hasExtra("message")) {
String message = intent.getStringExtra("message");
}
if (intent.hasExtra("title")) {
String title = intent.getStringExtra("title");
}
}
返回這個演員總是從去年通知的額外費用。我不知道我哪裏錯了?
我也嘗試了一些鏈接,但沒有找到有用的解決方案。
Intent extras being lost when sending with PendingIntent for GCM
請幫助。
爲PendingIntent.getActivity()提供了一個唯一的編號作爲requestCode參數,謝謝! – 2015-03-25 05:44:03