私のMainActivity
は、Android Nの新しいマルチウィンドウモードをサポートしています。しかし、私はAwesomeActivity
がマルチウィンドウをサポートしないようにしたいと思います。マルチウィンドウをサポートしない新しいアクティビティの開始
Iは、以下を試してみました:
の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
Iは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
に戻ることができるようにしたいと考えていますので、この解決策では十分ではありません。
あなた 'targetSdkVersion'は何ですか? 'CLEAR_TOP'と' SINGLE_TOP'(これはAFAIK、あなたはここでは必要ありません)を削除すると何か変わるのですか? – CommonsWare
'CLEAR_TOP'と' FLAG_ACTIVITY_SINGLE'を削除しましたが、それでも動作しません。 – Vinnie
@CommonsWare TargetSdkVersion is 24 – Vinnie