MyMainActivity
支持 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
它将成为其自己的任务堆栈中的根活动,因此,我应该无法在AwesomeActivity
.
但是,这不起作用,我仍然可以从 切换到多窗口模式AwesomeActivity
,这不是所需的行为。
尽管组合Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK
似乎可以启动 AwesomeActivity,但这在某种意义上不起作用,如果您在 AwesomeActivity 中将应用程序置于后台,然后将 AwesomeActivity 带回前台,您将无法返回 MainActivity它已从任务堆栈中擦除。我相信在大多数情况下,用户希望能够返回,MainActivity
所以这个解决方案是不够的。