启动两个应用程序,Android牛轧糖

Has*_*ane 5 java android

我想为android牛轧糖创建一个应用程序,当我单击一个按钮时,我同时启动同一屏幕上的两个应用程序。我想使用Android 7的这一新功能,可以吗?

Mak*_*aev 4

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

android.accessibilityservice.AccessibilityService 有以下 api:

service.performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)您可以使用它来启动分屏模式。

public List<AccessibilityWindowInfo> getWindows ()检查分屏模式是否打开。寻找一个带有 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)
Run Code Online (Sandbox Code Playgroud)

使用此辅助功能 API 和意图标志,您可以实现您的目标。有关详细实施信息,请参阅stavanger 的此存储库。

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