[英]Show apps pictures in Android Gallery with Android Nougat
[英]launch two apps, Android nougat
我想为 android nougat 创建一个应用程序,当我单击一个按钮时,我会在同一时间和同一屏幕上启动两个应用程序。 我想使用 Android 7 的这个新功能,可以吗?
您可以将 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)
使用此可访问性 apis 和意图标志,您可以实现您的目标。 有关详细实现,请参阅 stavangr 的此repo。
https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html
您可以查看此github存储库https://github.com/stavangr/SplitScreenLauncher
它通过可访问性api满足您的需求,但是有趣的是,应用程序不要求任何权限。
至少在我的Android 2像素2上
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.