3
讓我用細節清除問題。我在我的應用程序中使用twitter4j
。它運行良好,你知道Intent.ACTION_VIEW
正在調用回到Activity中的onNewIntent
方法。如何清除沒有新意圖的活動堆棧
我滿足這樣的回調:直到我按後退按鈕
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
final Uri uri = intent.getData();
if (uri != null && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
Log.d("TAG", "Twitter callback -> New Intent");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
new RetrieveAccessTokenTask(this,consumer, provider, prefs). execute(uri);
}
}
一切進展順利。當我按下活動返回包含授權頁面的網頁時。
有什麼方法可以清除Activity棧onNewIntent?我不想將同一個Intent稱爲重新啓動,並且不確定任何不同的出路。
更新:我打電話這樣的身份驗證頁面:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_FROM_BACKGROUND);
你能給什麼建議?
更新我的答案,什麼是錯的標誌?謝謝btw。 – Martin 2012-08-09 09:18:25
我認爲問題可能是其他標誌被設置。你想創建一個新的意圖,而不是使用已經在後臺運行的瀏覽器。嘗試刪除SINGLE_TOP和FROM_BACKGROUND。然後,您可以一次將它們添加回來,以確定哪個問題導致問題。 – 2012-08-09 10:17:31
謝謝菲爾,我刪除了兩個並解決了這個問題。 – Martin 2012-08-09 11:02:08