我有一個名爲A
的活動,從broadcast receiver
開始。活動A
觸發了通知,但當活動銷燬(完成)時它會自動消失。但我想保留此通知,直到用戶單擊或手動清除通知。活動完成後通知消失
如何從廣播接收器活動開始
Intent i = new Intent(context,A.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
i.putExtras(intent.getExtras());
context.startActivity(i);
通知
Intent notificationIntent = new Intent();
notificationIntent.setClass(context,B.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
Notification notification = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.notification_small)
.setContentTitle(status)
.setTicker(status)
.setAutoCancel(false)
.setContentText(message)
.setDefaults(Notification.DEFAULT_SOUND)
.setLargeIcon(
Bitmap.createScaledBitmap(icon, 128, 128, false))
.setContentIntent(pendingIntent)
.build();
清單選項
<activity android:name="com.example.activity.A"
android:screenOrientation="portrait"
android:launchMode="singleTask"
android:taskAffinity=""
android:excludeFromRecents="true"/>
注:我也試過singleInstance,但沒有運氣。
編輯(固定)
我犯了一個愚蠢的錯誤。我調用clearAll()而不是取消onDestroy()函數中的特定通知。
您是否使用mNotificationManager.cancel(NOTIFICATION_ID)取消通知? – Fahim 2015-04-01 07:57:46
看到我在我的評論中提到您正在清除通知 – Fahim 2015-04-01 09:02:11