1

分割画面で別のアプリをAndroid N(sdk 24)で開くにはどうすればよいですか?マルチウィンドウモードで分割画面でアプリをプログラムで開く


打ち上げ新たな活動

新しいアクティビティを起動すると、あなたはその新しいアクティビティがすべきシステムにヒントをすることができます:私はこれを見つけたドキュメントで

可能であれば、現在のものに隣接して表示されます。これを行うには、フラグIntent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENTを使用します。

デバイスが分割画面モードの場合、システムは起動したアクティビティの横に新しいアクティビティを作成しようとするため、2つのアクティビティで画面が共有されます。システムはこれを行うことが保証されていませんが、可能であればアクティビティを隣接させます。 デバイスが分割画面モードでない場合、このフラグは無効です。 デバイスがフリーフォームモードで、新しいアクティビティを起動している場合は、ActivityOptions.setLaunchBounds()を呼び出して、新しいアクティビティのディメンションと画面の場所を指定できます。デバイスがマルチウィンドウモードでない場合、このメソッドは効果がありません。私はこれを試してみたとき


はSE、Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENTフラグが存在しません。私は

  • をインストールアンドロイドの6.x(N)SDK 24改訂1
  • アンドロイドNプレビューSDK N改訂3
  • のAndroid 6.0(マシュマロ)SDK 23改訂3

これが私ですGradleの:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.0" 

    defaultConfig { 
     applicationId "PACKAGENAME" 
     minSdkVersion 16 
     targetSdkVersion 24 
     versionCode 2 
     versionName "2.4.1" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.0.0' 
    compile 'com.android.support:design:24.0.0' 
    compile 'org.jsoup:jsoup:1.8.3' 
    compile 'com.android.support:support-v4:24.0.0' 
    compile 'com.google.code.gson:gson:2.6.2' 
    compile 'com.squareup.okhttp3:okhttp:3.2.0' 
} 

答えて

0

それはIntent.FLAG_ACTIVITY_LAUNCH_ADJACENT、ないIntent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENTです。

+0

文書が間違っていますか? テント| | Intent.FLAG_ACTIVITY_NEW_TASK Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT( 'でsetFlagsをお試しください: –

+0

nowpは、私は両方のFLAGS_ACTIVITY_NEW_TASK –

+0

動作しません。 .FLAG_ACTIVITY_MULTIPLE_TASK) ' –

0

まず、アプリはSDK 24+のバージョンをターゲットにする必要があります。 24個未満のSDKをターゲットにしている場合、分割画面モードは機能しません。 はその後、慎重にデバイスが分割画面モードになっている場合、システムは次のそれを立ち上げ活動へ 新しいアクティビティを作成しようとするので、2つの 活動は、画面を共有しherehere

をお読みください。システムは、これを行うには を保証するものではありませんが、可能であればアクティビティを隣接させます。

このフラグは、分割画面マルチウィンドウモードでのみ使用されます。新しい アクティビティは、それを起動したアクティビティの隣に表示されます。これは をFLAG_ACTIVITY_NEW_TASKと組み合わせて使用​​することができます。また、 の新しいインスタンスに既存のアクティビティーを作成する場合は、 FLAG_ACTIVITY_MULTIPLE_TASKを設定する必要があります。

これは、プログラムで分割画面モードを開始できないことを意味します。すでに分割画面モードになっている場合は、画面の別の部分でアクティビティを起動することができます。

関連する問題