在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

回到顶部