安卓遥控器客户端

2022-09-02 13:10:48

RemoteControlClient是在ICS中引入的。这就是锁屏界面似乎与各种音乐播放器集成的方式。请参阅下面的屏幕截图,了解锁定屏幕上的Spotify示例。

enter image description here

除了锁屏之外,另一个应用程序也可以与所述播放器集成吗?

我发现文档缺少一些关于这个主题的内容,但我认为如果可能的话,结果可能会很有趣。

编辑:

迄今取得的进展:没有。我发现IRemoteControlDisplay可能在其中有一些作用,但我的Android / Java技能有点缺乏实际了解如何实现它并实现与锁定屏幕上相同的功能。


答案 1

在开发我的应用程序时,我实际上已经找到了如何实现自己的RemoteControlDisplay。

基本上,您扩展了IRemoteControlDisplay$Stub,它将消息发送到特殊的处理程序,该处理程序更新元数据和事物。然后,通过调用 AudioManager#registerRemoteControlDisplay() 来注册自己的类,该类从 IRemoteControlDisplay$Stub 扩展。

然后通过调用AudioManager#unregisterRemoteControlDisplay()来注销它。

这相当复杂,但我写了一篇关于如何做到这一点的文章。我已经在XDA上发布了它,在这里检查:http://forum.xda-developers.com/showthread.php?p=44513199


答案 2

我相信你可以做到这一点。但是,该方法将使用私有API(这意味着它可能不适用于某些更高版本的Android操作系统)。

我建议去下载Android源代码(http://source.android.com/)并检查目录/框架/base/media/java/android/media

它有几个文件是你感兴趣的点:AudioManager.java

音频服务.java

IRemoteControlClient.aidl

IRemoteControlDisplay.aidl

音频管理器具有公共方法,该方法未记录为registerRemoteControlDisplay。您应该能够通过反射访问它。

使用此接口,您可以注册一个实现 IRemoteControlDisplay 的对象(另一个未记录的接口),并且您应该能够通过此对象控制播放器。


推荐