Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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_Android Activity_Android Manifest - Fatal编程技术网

Android 我如何才能启动一项活动,使其超越所有其他活动?

Android 我如何才能启动一项活动,使其超越所有其他活动?,android,android-activity,android-manifest,Android,Android Activity,Android Manifest,我正在尝试创建一个定义两个活动的应用程序。第一个活动几乎一直在运行。第二个活动要求用户通过身份验证才能使用设备 大多数情况下,此应用程序工作正常。但是,我在弄清楚如何将第二个活动强制到窗口堆栈的顶部时遇到了问题。该代码调用startActivity,传入启动第二个活动的意图。问题在于,当另一个应用程序正在运行(例如web浏览器)时,第二个活动不在顶部。当另一个应用程序退出时,可以看到第二个活动以获取用户的输入 下面是第二个活动的活动定义,我希望在启动时始终将其放在顶部: <acti

我正在尝试创建一个定义两个活动的应用程序。第一个活动几乎一直在运行。第二个活动要求用户通过身份验证才能使用设备

大多数情况下,此应用程序工作正常。但是,我在弄清楚如何将第二个活动强制到窗口堆栈的顶部时遇到了问题。该代码调用startActivity,传入启动第二个活动的意图。问题在于,当另一个应用程序正在运行(例如web浏览器)时,第二个活动不在顶部。当另一个应用程序退出时,可以看到第二个活动以获取用户的输入

下面是第二个活动的活动定义,我希望在启动时始终将其放在顶部:

    <activity android:name=".Authenticate"
              android:launchMode="singleTop"
              android:configChanges="orientation|keyboardHidden">
    </activity>


我的理解是,当启动活动被调用时,它将把新活动放在最上面。有什么我遗漏的吗?如何使身份验证活动在启动时处于顶部?

每当一个新活动启动时,它都位于堆栈顶部,如果另一个应用程序正在运行,则它将位于堆栈顶部,如果您希望您的活动位于堆栈顶部,则应停止启动其他应用程序……是否有什么需要改进的地方我失踪了,然后让我知道。

好吧,好吧,你不能强迫你的活动一直保持领先。如果其他流程(比如Web浏览器)在您创建活动之后创建了活动,那么该流程活动将具有焦点,而不是您的。

是的,这也是我的理解。因此,第三方应用程序启动一个活动,然后我在活动启动后启动它。不管活动性定义在哪里(即,它是什么应用程序的一部分),最后一个活动不应该获胜吗?是的,这就是应该发生的事情。