gpt4 book ai didi

android - 启动不支持多窗口的新 Activity

转载 作者:行者123 更新时间:2023-11-29 14:13:23 25 4
gpt4 key购买 nike

我的 MainActivity 支持 Android N 的新多窗口模式。但是,我希望我的 AwesomeActivity 不支持多窗口。

我尝试了以下方法:

AndroidManifest.xml

<activity
android:name=".activities.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden"/>
<activity android:name=".activities.AwesomeActivity"
android:resizeableActivity="false" />

MainActivity.java

Intent intent = new Intent(this, AwesomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
//removing CLEAR_TOP and SINGLE_TOP has no effect either
//Intent.FLAG_ACTIVITY_CLEAR_TASK in conjunction with Intent.FLAG_ACTIVITY_NEW_TASK does not have an effect either

我认为通过添加 Intent.FLAG_ACTIVITY_NEW_TASK(有或没有 Intent.FLAG_ACTIVITY_CLEAR_TASK),这意味着 AwesomeActivity 将是根 Activity 在它自己的任务堆栈中,因此,我不应该能够在 AwesomeActivity 进入多窗口模式。

但是,这不起作用,我仍然可以从 AwesomeActivity 切换到多窗口模式,这不是我想要的行为。

虽然 Intent.FLAG_ACTIVITY_NEW_TASK | 的组合Intent.FLAG_ACTIVITY_MULTIPLE_TASK 似乎可以启动 AwesomeActivity 这在某种意义上不起作用,如果您在 AwesomeActivity 中将应用程序置于后台,然后将 AwesomeActivity 带回前台,您将无法返回到 MainActivity,因为它已从任务堆栈中删除。我相信在大多数情况下,用户会希望能够返回到 MainActivity,所以这个解决方案是不够的。

最佳答案

FLAG_ACTIVITY_NEW_TASK 似乎不够。同时使用 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_MULTIPLE_TASK 有效:

      startActivity(new Intent(MainActivity.this, ActivityTwo.class)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_MULTIPLE_TASK));

关于android - 启动不支持多窗口的新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39297184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com