我想为android nougat创建一个应用程序,当我点击一个按钮时,我会在同一时刻和同一个屏幕上启动两个应用程序。 我想使用Android 7的这个新功能,有可能吗?
答案 0 :(得分:2)
您可以将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)
使用此可访问性api和意图标志可以实现您的目标。有关详细的实施,请咨询stavangr的this回购。
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html