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
ため、このソリューションでは不十分です。