【问题标题】:Android old intent keeps relaunchingAndroid旧意图不断重新启动
【发布时间】:2013-08-14 18:32:59
【问题描述】:

嗨,在我的应用程序中,我有一个对话框询问他们是否愿意打开我的无障碍服务(如果它已关闭)。如果他们点击没问题,它就会启动一个像这样开放可访问性的意图

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

这很好用,但是如果他们从可访问性返回首页,然后再次打开我的应用程序,它不会显示对话框或任何内容,而是每次都直接打开可访问性。解决它的唯一方法是回击,直到我回到主屏幕,然后重新打开应用程序不再打开可访问性。

为什么除非我退出,否则它会一直启动我的旧意图?为什么我不能回击,然后它就不会再次启动意图

感谢您的帮助

【问题讨论】:

    标签: android android-intent


    【解决方案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);
    

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        • 1970-01-01
        • 1970-01-01
        • 2016-09-25
        • 1970-01-01
        相关资源
        最近更新 更多