我需要开发一个Android服务(API级别> 21),它应该能够检测第三方视频播放器上的视频播放,以便它可以在视频播放期间进一步禁用通知弹出窗口。
在搜索时,我发现有几篇帖子谈到在VideoView中检测视频的播放状态,如下所示: How to detect when VideoView starts playing (Android)?
但是,我找不到任何可以帮助检测视频播放器上视频播放的内容,其中,视频播放器是作为第三方应用程序安装的,不是Android应用程序/服务的一部分。
所以,挑战是:
1)android服务需要检测视频播放
2)使用服务注册视频播放器应用程序的软件包名称是不可能的,因为即使从Playstore安装了新的视频播放器,服务也应该能够检测到播放。
3)也需要扩展这种在线视频流的想法。
在这方面的任何帮助都将非常感激。
提前致谢。
答案 0 :(得分:0)
There is no way to implement 100% reliable video playback detection :(
Just and idea: try listening to the audio focus changes... this might help with detection of video playback, assuming the target player respects the audio output stream usage policy, recommended by Google. You might also want to get notified about system UI visibility changes (to detect fullscreen playback).
Audio focus: https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html
System UI visibility changes: https://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html
Also, you are correct saying that package name based detector is not an option since detecting active/running package is no longer possible on android 7.