使用SingleInstance启动新的Intent

时间:2011-10-02 14:27:35

标签: android twitter android-activity android-intent

我有两项活动。一个活动有主游戏,另一个活动有游戏在屏幕上,这实际上只是一个自定义警报对话框。在屏幕上的游戏中,有一个按钮,当点击时会启动一个新的活动。

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授权页面,但我遇到的问题是,当我单击“授权应用程序”按钮时,带有警告对话框的活动将再次启动(调用create而不是onNewIntent)。

我尝试了不同的启动模式(singleInstance,singleTask和singleTop)。

他们每个人都有自己的问题。 singleInstance和singleTask将清除原始调用活动,因此当原始活动中的AlertDialog幻灯片更改为菜单页面时。 singleTop总是先调用create(尽管它不调用onDestroy)

有没有人有关于如何完成这项工作的任何建议或示例?

顺便说一句,调用游戏活动的活动是标准的启动模式

先谢谢

1 个答案:

答案 0 :(得分:0)

我最终做的是调用原始调用者的新活动。因此,当我选择从自定义警报对话框发送消息时,我关闭警报对话框活动,结果请求推文,并从原始活动中调用第三个活动(推特授权)。这不是我想要的答案,但这就是我解决问题的方法。如果有人知道一个更好的更有说服力的解决方案,我很想知道它。

现在,流动变为A-> B-> A-> C-> A-> B而不是A-> B-> C-> B

相关问题