Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:意外的近期应用行为_Android - Fatal编程技术网

Android:意外的近期应用行为

Android:意外的近期应用行为,android,Android,我们的应用程序有两个活动-一个是main活动(与启动器图标关联),另一个是AuxActivity,用于处理URI事件 我发现此场景存在问题,我的应用程序最初退出: 打开浏览器,单击URI以启动AuxActivity AuxActivity退出(调用finish()),用户返回浏览器 用户调出最近的应用程序(长按home),并选择我的应用程序 我看到的不是启动MainActivity,而是启动auxaActivity的意图与表示URI单击的意图相同(android.intent.action.VI

我们的应用程序有两个活动-一个是
main活动
(与启动器图标关联),另一个是
AuxActivity
,用于处理URI事件

我发现此场景存在问题,我的应用程序最初退出:

  • 打开浏览器,单击URI以启动
    AuxActivity

  • AuxActivity
    退出(调用finish()),用户返回浏览器

  • 用户调出最近的应用程序(长按home),并选择我的应用程序

  • 我看到的不是启动
    MainActivity
    ,而是启动
    auxaActivity
    的意图与表示URI单击的意图相同(
    android.intent.action.VIEW

    现在,如果用户要通过主屏幕图标打开我的应用程序,而不是第3步,那么我将返回到
    MainActivity
    ,正如预期的那样


    如何让步骤3启动
    MainActivity

    根据Tim的建议,添加

    android:excludeFromRecents="true"
    

    到清单中的auxActivity列表?这有帮助吗?

    不确定这是否有效,但您也可以尝试:

    android:noHistory=“true”

    是否应从中删除活动 当 用户离开它,它在屏幕上不再可见- 如果应该完成,则为“真”,否则为“假”。默认值 是“假”。值“true”表示活动不会留下 历史痕迹。它将不会保留在的活动堆栈中 任务,因此用户将无法返回到该任务。这个属性是 在API级别3中引入


    将其放入AuxActivity的onCreate中:

    if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) > 0) {
        // do something different e.g. launch MainActivity
    }
    

    我不确定,但我不认为你可以指出另一个活动,如果没有auxActivity中的某种逻辑,它能够以某种方式确定MainActivity是应该启动的,并让用户跟随该活动。我认为你可以在启动auxActivity时使用一些manifest属性和/或intent标志,使它不会出现在最近使用的应用程序列表中。(但我不知道我脑子里想的是什么)