在Android 8.0以上。有没有什么办法可以知道系统中有pip模式
Android Oreo。该活动可以进入点子模式并返回到启动器。在Android 8.0以上。有没有什么办法可以知道系统中有pip模式
https://developer.android.com/guide/topics/ui/picture-in-picture.html
现在我发射。有没有什么办法可以知道屏幕上显示了一个点子窗口?
isInPictureInPictureMode()
只显示您的应用程序pipmode,如果有其他应用程序进入pip模式,则该值将为false。
当您退出应用程序并转到pipmode返回到启动器时,意图标志是相同的。
12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_FORWARD_RESULT 12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_NEW_TASK 12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_PREVIOUS_IS_TOP 12-15 03:31:39.581 11671 11671 D FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_BOOT_UPGRADE 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_FOREGROUND 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_INCLUDE_BACKGROUND 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_FORWARD_RESULT 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_NEW_TASK 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_PREVIOUS_IS_TOP 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_BOOT_UPGRADE 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_FOREGROUND 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_INCLUDE_BACKGROUND 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS
我检查PIP模式源代码和它们由WindowManagerService
控制此。我不认为它可以通过应用程序级别访问。
回答:
你可以建立一个AccessibilityService
它可以查询s为isInPictureInPictureMode()
。
请注意,谷歌目前(2017年底)追捕无障碍服务功能的滥用,所以要谨慎。这种做法很可能会被视为滥用。只有在找不到更好的解决方案时才使用它。
查看Developing an Accessibility Service的指导。
请注意,这需要提示用户的权限,用户必须明确接受辅助功能服务。
以上是 在Android 8.0以上。有没有什么办法可以知道系统中有pip模式 的全部内容, 来源链接: utcz.com/qa/261777.html