2013-01-22 172 views
0

我有三個屏幕像登錄,第二和第三。基於我的條件,我生成一個狀態欄通知。如果用戶點擊我想要顯示第三個屏幕的通知。它工作正常。但是當我直接重新啓動應用程序第三個屏幕即將到來。我想在點擊通知時顯示第三個屏幕。其他方面,我的第一個屏幕應該是登錄頁面。如何處理狀態欄通知?

我可以使用下面的代碼

public void showNotification() 
    { 
     NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
     Notification notification = new Notification(R.drawable.ic_launcher, "A New Message!", System.currentTimeMillis()); 


    Intent notificationIntent = new Intent(Preferences.this,PendingOffers.class); 

    PendingIntent pendingIntent = PendingIntent.getActivity(Preferences.this, 0, notificationIntent, 0); 

    notification.setLatestEventInfo(Preferences.this,"sample notification", "notificationMessage", pendingIntent); 

    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    notificationManager.notify(0, notification); 
}; 
+2

請在用戶點擊通知時,關於您如何呼叫第三個屏幕的部分代碼。所以我們可以幫助你。 –

回答

1
Intent intent = new Intent(this, some.class) 
intent.putExtra("yourpackage.notifyId", id); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 1, intent, 0); 

的更多信息,請查看本link

1

您所問的問題與您使用的通知無關。用戶返回到應用程序中的第三個Activity,因爲當您的應用程序沒有真正停止時,而是剛剛在後臺暫停時,用戶默認回到他在再次單擊啓動器圖標時查看的最後一個活動。

根據你的情況,這個問題有多種解決方案。如果用戶不應該返回到第三Activity,您可以設置android:noHistory=「true」在您的清單該活動,在這裏看到:How does android:noHistory=「true」 work?

如果只有登錄的用戶應該能夠返回到第三Activity,你可以只商店如果用戶登錄在SharedPreferences。當第三個Activity開始時,您檢查該值並將用戶重定向到登錄活動,使用Intent.FLAG_ACTIVITY_CLEAR_TOP作爲您的Intent。在上次執行登錄活動後,這將清除堆棧中的所有Activities