android - 使用一个启动器在分屏中启动我的两个应用程序 - Android

标签 android multi-window split-screen

在Android中,我开发了两个App。我想使用一个启动器以编程方式在分屏模式下启动这两个应用程序。我该怎么做?

最佳答案

我找到了答案。

您可以使用 Accessibility API 来实现此类功能。它不需要任何权限。

android.accessibilityservice.AccessibilityService 有以下 API:

service.performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN) 可用于启动分屏模式。

public List getWindows() 检查分屏模式是否打开。查找带有 AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER 的窗口

启动 Activity 时,您还需要使用 Intent 标志。

 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 和 Intent 标志,您可以实现您的目标。咨询this stavangr 的 repo 以了解详细实现。

https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

关于android - 使用一个启动器在分屏中启动我的两个应用程序 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987784/

相关文章:

ios - Mac 催化剂 : multi-window without supporting multi-window in iPad app?

linux - 打开大量文件时导航 vim 分屏

android - 即使没有 UI 线程任务、内存和处理器使用都正常,我的 Android 应用程序也会挂起

java - 无法将蓝牙键盘连接到 Android 设备

wpf - ALT-TAB 始终激活具有多个拥有窗口的 WPF 应用程序中的主窗口

android - 禁用分屏 - 显示 "Full screen display"

Matlab - 将两个视频合并为一个分屏视频

android - IAP 在 alpha 版本中发布到 play store 后无法正常工作

android - 使用 JUnit 对 SparseArray 进行单元测试(使用 JVM)

android - 在多窗口模式下窗口大小为 2/3 时,Activity 不会在方向更改时重新启动