Android旧意图保持重新启动

时间:2013-08-14 18:32:59

标签: android android-intent

嗨,在我的应用程序中,我有一个对话框,询问他们是否要在我关闭时打开我的辅助功能服务。如果他们打得好,就会启动打开可访问性的意图

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivityForResult(intent, 0);

这样可以正常工作但是如果他们从辅助功能回家,然后再次打开我的应用程序,它不会显示对话框或任何其他内容,但每次都会直接打开accessiblity。绕过它的唯一方法是回到我回到我的主屏幕,然后重新打开应用程序不再打开可访问性。

为什么除非我退出,否则它会继续发起我的旧意图?为什么我不能回击然后它再次没有启动意图

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

使用标志FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivityForResult(intent, 0);

但是,如果用户从历史记录列表中启动您的应用,它仍会显示。

答案 1 :(得分:0)

我认为问题在于您的活动仍在等待结果。

如果是这样,在onResume()中调用forceFinish()可以解决问题。

http://developer.android.com/reference/android/app/Activity.html#finishActivity%28int%29