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