我需要开发一个Android服务(API级别> 21),它应该能够检测到第三方视频播放器上的视频播放,以便它可以进一步禁用视频播放期间的通知弹出窗口。
在搜索过程中,我发现了几篇关于在VideoView中检测视频播放状态的帖子,例如:How to detect when VideoView starts playing (Android)?
但是,我找不到任何可以帮助检测视频播放器上的视频播放的东西,其中视频播放器是作为第三方应用程序安装的,而不是Android应用程序/服务的一部分。
因此,挑战是:
1) android服务需要检测视频播放
2)向服务注册视频播放器应用程序的包名是不成问题的,因为即使从Playstore安装了新的视频播放器,服务也应该能够检测到播放。
3)也需要将这个想法扩展到在线视频流媒体。
在这方面的任何帮助都是非常感谢的。
提前谢谢。
发布于 2017-05-16 17:19:10
没有办法实现100%可靠的视频播放检测:(
只是和想法:试着听音频焦点的变化……这可能有助于检测视频回放,假设目标播放器遵守Google推荐的音频输出流使用策略。您可能还希望获得有关系统UI可见性更改的通知(以检测全屏回放)。
音频焦点:https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html
系统UI可见性更改:https://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html
此外,你说的对,基于包名称的检测器不是一个选项,因为在android 7上不再可能检测活动/运行的包。
https://stackoverflow.com/questions/43995950
复制相似问题