Android 活动打开打开活动的外部应用程序,从而在活动堆栈中将其加倍

Android 活动打开打开活动的外部应用程序,从而在活动堆栈中将其加倍,android,android-activity,twitter,Android,Android Activity,Twitter,我正在尝试将Twitter集成到我的应用程序中,请进一步阅读,即使您从未这样做过。这是登录工作流: 用户在活动中单击“使用Twitter登录” 浏览器中会出现Twitter身份验证站点。用户点击允许应用程序使用Twitter 浏览器消失,活动再次打开。 问题是该活动会再次打开,这意味着在单击“后退”之后,在使用Twitter登录之前,我仍然处于该活动中,因此我需要再次单击“后退” 这是在浏览器中打开Twitter授权网站的一行: SettingsActivity.this.startActivi

我正在尝试将Twitter集成到我的应用程序中,请进一步阅读,即使您从未这样做过。这是登录工作流:

用户在活动中单击“使用Twitter登录” 浏览器中会出现Twitter身份验证站点。用户点击允许应用程序使用Twitter 浏览器消失,活动再次打开。 问题是该活动会再次打开,这意味着在单击“后退”之后,在使用Twitter登录之前,我仍然处于该活动中,因此我需要再次单击“后退”

这是在浏览器中打开Twitter授权网站的一行:

SettingsActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
在完成后再完成也无济于事

甚至没有设置标志\活动\清除\顶部:

  Intent intent = new Intent(Intent.ACTION_VIEW);
  intent.setData(Uri.parse(requestToken.getAuthenticationURL()));
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  startActivity(intent);

有什么想法吗?

您是否在清单中设置了活动的android:launchMode=singleInstance

还可以使用以下命令:

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);