http://developer.android.com/guide/topics/ui/notifiers/notifications.html 頁說,我必須使用意向Android通知的setContentView
,因爲我的代碼只有一個活動,我不能使用意向。我想使用通知返回到應用,例如從DEVICE'S HOME SCREEN。
我時,我想通過單擊通知來執行一些使用意圖。點擊通知後有沒有辦法使用setContentView
?
http://developer.android.com/guide/topics/ui/notifiers/notifications.html 頁說,我必須使用意向Android通知的setContentView
,因爲我的代碼只有一個活動,我不能使用意向。我想使用通知返回到應用,例如從DEVICE'S HOME SCREEN。
我時,我想通過單擊通知來執行一些使用意圖。點擊通知後有沒有辦法使用setContentView
?
沒有看到你至今嘗試一下,我要帶刺的這一個。
我不太明白爲什麼不管你的應用中有多少活動,你不能聲明/使用和Intent
。如果您需要再次觸發你唯一的活動,一個通知已被點擊後,並需要再次撥打該活動onCreate()
的setContentView(R.layout.some_layout_xml);
,爲什麼不申報意向爲您的通知是這樣的:
Intent intent = new Intent(getApplicationContext(), YOUR_ACTIVITY.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(YOUR_ACTIVITY.this, 0, intent, 0);
這樣,點擊你的通知應該做你想做的事情。
同樣,這可能會或可能不會爲你考慮,你還沒有發佈任何代碼在所有的工作。
編輯:基於由OP的評論,我認爲解決方案可能:
請參閱如何與一個Intent發送數據的通知此鏈接:How to send parameters from a notification-click to an activity?
基本上,因爲Notification
已被觸發,我假設用戶已經登錄。我們跳過登錄一部分,當他們回來的應用程序點擊Notification
後,送一些額外的與Intent
一起。然後,當Activity
開始時,檢查該值並使用if...else
語句,決定應顯示哪個佈局。
同樣,我不能強調這一點,你應該總是告訴你到目前爲止做了什麼。這確實有助於找到解決方案。您的實際需求與您所需要完成的工作無關。
您可以使用意向,回到應用程序,例如像這樣:
final Intent intent = new Intent(context, YourActivity.class);
final PendingIntent pendingIntent = PendingIntent.getActivity(
context, 0, intent, 0);
final Notification notification = new Notification(
R.drawable.logo, tickerText, System.currentTimeMillis());
notification.setLatestEventInfo(context, title, text, pendingIntent);
notificationManager.notify(NOTIFICATION_ID, notification);
當我點擊通知剛開始我的應用程序的新實例。 – Disa 2013-02-18 13:13:39
當我點擊通知剛開始我的應用程序的新實例。應用程序基於LoginActivity,因此每次我從通知中打開應用程序時都無法打開登錄表單。 – Disa 2013-02-18 13:15:12
@Disa:點擊通知時你想運行什麼任務?在你的問題中再澄清一點真的會有幫助。 – 2013-02-18 13:16:24
應用程序基於LoginActivity。當我啓動應用程序時,會出現登錄表單。應該會出現成功登錄主內容之後。當有人想回家幾分鐘時,點擊通知應該顯示主要內容而不會重新登錄。 – Disa 2013-02-18 13:18:23