使用媒体按钮使用三星默认媒体播放器广播

问题描述:

我使用Intent.ACTION_MEDIA_BUTTON构建了一个应用程序来控制当前的媒体播放,但是一位客户报告说它并未使用其三星音乐播放器。有谁知道三星媒体播放器是否不支持媒体按钮,如果有的话如何解决?使用媒体按钮使用三星默认媒体播放器广播

我没有解决方案,但我可以确认我的Samsung Galaxy S/Android 2.1测试单元上的股票媒体播放器不响应“切换播放/暂停”(KEYCODE_MEDIA_PLAY_PAUSE)或“下一个跟踪'(KEYCODE_MEDIA_NEXT),所以这是一个公平的赌注,它不会回应他人。

如果您使用logcat来关注当您使用库存耳机使用内嵌开关/麦克风“切换播放/暂停”时发生的情况,您可以看到它发送KEYCODE_HEADSETHOOK,您可以在代码中发送这个KEYCODE_HEADSETHOOK,在媒体播放器上切换播放/暂停。

但就是这样。有点垃圾,真的。好,三星!

编辑:多一点挖后,我得到了在与三星媒体播放器的工作:

Intent musicIntent = new Intent(); 
musicIntent.setAction("com.sec.android.app.music.musicservicecommand.togglepause"); 
sendBroadcast(musicIntent); 

和:

Intent musicIntent = new Intent(); 
musicIntent.setAction("com.sec.android.app.music.musicservicecommand.next"); 
sendBroadcast(musicIntent); 

我会非常有兴趣知道如何普遍适用本是 - 似乎对我来说有点脆弱......

最后,沿着同样的路线我找到了(替换musicIntent.setAction()行):

musicIntent.setAction("com.android.music.musicservicecommand.next"); 
musicIntent.putExtra("command", "next"); // or "next" or "previous" 

这不适用于三星播放器,但可能对某人有用...