1

如何在android N(sdk 24)中的分屏中打開另一個應用程序?程序化地在分屏中打開應用程序

在本文檔中,我發現這個:


推出新活動在多窗口模式

當您啓動一個新的活動,你可以提示系統,新的活動應如果可能的話,顯示在當前的旁邊。爲此,請使用Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT標誌。通過此標誌請求以下行爲:

如果設備處於分屏模式,系統將嘗試在啓動它的活動旁邊創建新活動,以便兩個活動共享屏幕。系統不能保證能夠做到這一點,但如果可能的話,它會使活動相鄰。 如果設備不處於分屏模式,則此標誌不起作用。 如果設備處於自由形式模式並且您正在啓動新活動,則可以通過調用ActivityOptions.setLaunchBounds()來指定新活動的尺寸和屏幕位置。如果設備不處於多窗口模式,則此方法無效。


SE當我嘗試了這一點,在Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT標誌不存在。我安裝

  • 的Android 6.x的(N)24的SDK修訂1
  • 的AndroidÑ預覽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

所以文檔不對? –

+0

nowp不起作用 –

+0

我試過intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT)intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT) –

0

首先,應用程序應該定位到SDK 24+版本。如果它的目標是低於24 SDK,那麼分屏模式將無法工作。 然後仔細閱讀herehere

如果設備是在分屏模式下,系統將嘗試創建 旁邊,啓動它的活動的新的活動,所以這兩個 活動共享屏幕。系統不能保證能夠 這樣做,但它會使活動儘可能相鄰。

此標誌僅用於分屏多窗口模式。新的 活動將顯示在啓動該活動的旁邊。這可以 僅與FLAG_ACTIVITY_NEW_TASK結合使用。另外,如果您想要創建一個現有活動的新實例 ,則需要設置 FLAG_ACTIVITY_MULTIPLE_TASK。

這意味着您無法以編程方式啓動分屏模式。如果您已經處於分屏模式,您可以嘗試在屏幕的另一部分啓動活動。

相關問題