我有一個自定義應用程序,其中有多個活動以全屏模式運行(SplashActivity
,MainActivity
,InfoActivity
等等)。我目前正在處理通知,並試圖產生以下行爲:如果應用程序正在運行並置於後臺,並且用戶單擊通知,則最後一次運行的活動恢復。如果用戶沒有運行該應用程序,則啓動SplashActivity
。有沒有辦法做到這一點?我使用下面的代碼單擊通知時啓動/恢復應用程序
android.app.NotificationManager notificationManager = (android.app.NotificationManager) instance.getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent(instance, SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(instance, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(instance);
builder.setSmallIcon(iconId);
builder.setContentTitle(title);
builder.setStyle(new NotificationCompat.BigTextStyle().bigText(message));
builder.setContentText(message);
builder.setContentIntent(contentIntent);
notificationManager.notify(0, builder.build());
如果我設定的活動SplashActivity.class它會打開該活動的應用程序是否正在運行與否,因此,如果應用程序沒有運行,只會是正確的。
檢查[此鏈接](http://stackoverflow.com/questions/10955484/change-notification-intent-in-android) – Merlevede
這幫了我http:// stackoverflow.com/questions/3305088/how-to-make-notification-intent-resume-rather-than-making-a-new-intent/39482464#39482464 – TharakaNirmana