使用一个启动器在分屏中启动我的两个应用程序 - Android
Launch my two apps in split screen with one launcher - Android
在Android,我开发了两个App。我想使用一个启动器以编程方式以分屏模式启动这两个应用程序。我该怎么做?
我确实搜索了这么长时间,但从未找到任何内容来使用单个 launcher.Best 案例启动多个应用程序我得到的是在我的三星设备(s8 系列之后)支持应用程序配对(用户手动doc)
我相信 Samsung
允许它,因为他们必须支持它,因为他们有自定义 Android OS.Just 就像他们有自己的自定义上下文菜单代码和许多其他调整.
我找到了答案。
您可以使用辅助功能 API 来实现此类功能。它不需要任何权限。
android.accessibilityservice.AccessibilityService
具有以下 API:
service.performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)
可用于启动分屏模式。
public List getWindows() 检查分屏模式是否打开。寻找 window 和 AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER
您还需要在启动活动时使用意图标志。
val options = ActivityOptionsCompat.makeBasic().toBundle()?.apply {
putInt(
ActivityOptionsFlags.KEY_LAUNCH_WINDOWING_MODE,
ActivityOptionsFlags.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
)
putInt(
ActivityOptionsFlags.KEY_SPLIT_SCREEN_CREATE_MODE,
ActivityOptionsFlags.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT
)
}
startActivities(listOf(intentBottom, intentTop).toTypedArray(), options)
使用此辅助功能 api 和意图标志,您可以实现您的目标。有关详细实施,请参阅 stavangr 的 this 存储库。
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html
在Android,我开发了两个App。我想使用一个启动器以编程方式以分屏模式启动这两个应用程序。我该怎么做?
我确实搜索了这么长时间,但从未找到任何内容来使用单个 launcher.Best 案例启动多个应用程序我得到的是在我的三星设备(s8 系列之后)支持应用程序配对(用户手动doc)
我相信 Samsung
允许它,因为他们必须支持它,因为他们有自定义 Android OS.Just 就像他们有自己的自定义上下文菜单代码和许多其他调整.
我找到了答案。
您可以使用辅助功能 API 来实现此类功能。它不需要任何权限。
android.accessibilityservice.AccessibilityService
具有以下 API:
service.performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)
可用于启动分屏模式。
public List getWindows() 检查分屏模式是否打开。寻找 window 和 AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER
您还需要在启动活动时使用意图标志。
val options = ActivityOptionsCompat.makeBasic().toBundle()?.apply {
putInt(
ActivityOptionsFlags.KEY_LAUNCH_WINDOWING_MODE,
ActivityOptionsFlags.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
)
putInt(
ActivityOptionsFlags.KEY_SPLIT_SCREEN_CREATE_MODE,
ActivityOptionsFlags.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT
)
}
startActivities(listOf(intentBottom, intentTop).toTypedArray(), options)
使用此辅助功能 api 和意图标志,您可以实现您的目标。有关详细实施,请参阅 stavangr 的 this 存储库。
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html