我有兩項活動。一個活動具有主遊戲,而另一個活動具有遊戲結束屏幕,這實際上只是一個自定義警報對話框。在屏幕上的遊戲中有一個按鈕,點擊後會啓動一個新的活動。使用SingleInstance啓動新內容
String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, OAUTH_CALLBACK_URL);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
的頁面是一個Twitter授權頁面,但我遇到的問題是,當我點擊授權應用按鈕的活動與警報對話框再次啓動(調用創建的,而不是onNewIntent)。
我試過不同的啓動模式(singleInstance,singleTask和singleTop)。
他們每個人都有他們的問題。 singleInstance和singleTask將清除原始調用活動,以便在原始活動中的AlertDialog滑動時更改爲菜單頁。 singleTop總是先調用create(儘管它不會調用onDestroy)
有沒有人有任何建議或例子可以讓我完成這件事?
順便說一句,調用遊戲活動的活動是一個標準的launchmode提前
你嘗試'singleTask' +'taskAffinity'的?(http://developer.android.com/guide/topics/manifest/activity-element.html#aff)我沒有嘗試過,但通過文檔,該組合應符合您的要求。 – kingori
只是試了一下。我給了兩個活動相同的affinityName(我想這是建議),但它有相同的反應。使用singleTask時,調用Activity總是從堆棧中消失。 –
@Wise之一:「其他活動的遊戲在屏幕上,這實際上只是一個自定義警報對話框。」 - 爲什麼?爲什麼不在沒有對話的情況下進行簡單的活動?或者,爲什麼不只是以對話爲主題的活動?爲什麼只有一個活動只顯示對話框?作爲獎勵,它應該清除你的問題,因爲你不會有一個警告對話框。 – CommonsWare