我是Android開發人員,在閱讀有關任務和活動的文檔後,我無法正常工作。在Android中重新開始活動
(首先對不起我的英語)
我的應用程序包括兩個活動:LOGIN和新聞。這兩種活動的啓動方法都是singleTask。
NEWS活動使用onCreate以Android notification tutorial!的標準通知代碼創建通知!
int icon = R.drawable.notification_icon; // icon from resources
CharSequence tickerText = "Hello"; // ticker-text
long when = System.currentTimeMillis(); // notification time
Context context = getApplicationContext(); // application Context
CharSequence contentTitle = "My notification"; // expanded message title
CharSequence contentText = "Hello World!"; // expanded message text
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
當我第一打開應用程序:
LOGIN - >的onResume() - >NEWS - >的onCreate() - >通知
隨着代碼
Intent newLogAct = new Intent(Login.this, News.class);
TomTuckerActivity.this.startActivity(newLogAct);
如果我打返回 * 新聞 *被破壞,並再次:
LOGIN - >的onResume() - >新聞 - >的onCreate() - >通知
(我不喜歡這樣循環,使用它的原因是在最後解釋)
如果我打首頁我回到主菜單,在這裏開始我不明白:
如果我使用該通知以重新啓動應用程序陽離子沒有問題,新聞窗口再次打開,而無需調用創建和沒有發送通知。
如果我在調用NEWS時使用應用程序圖標,singleTask選項似乎是無用的,因爲再次調用onCreate()並再次發送通知。
我想要的是恢復我離開它的應用程序,或者使用通知或圖標。
可能在newLogAct中的一個標誌將解決問題?
好的在這兩項活動中都有singleTask啓動選項嗎?
關於返回紐襻問題:
爲了避免我想過使用的onCreate(循環),而不是的onResume()。但是,當我使用應用程序圖標重新啓動應用程序時登錄已加載,但onCreate未調用,因此新聞尚未加載。
有沒有其他方法可以解決這個問題?
也許用onNewIntent()方法?
首先,爲什麼lauching方法是singleTask? [doc](http://developer.android.com/guide/topics/manifest/activity-element.html#lmode)表示它只能用於非常特殊的情況。 –
因爲如果沒有,當我打回家,然後重新進入應用程序的圖標或通知一個新的實例創建,然後我有: 登錄 - 新聞 - 登錄 - 新聞 - ... 四個活動,而不是二。還有其他方法可以做到嗎? – Octan
如果你用圖標重新進入應用程序,我不認爲它會創建一個新的實例,它應該回到最後一個活動。 –