在 android 上发送媒体操作

Send media action on android

我正在寻找一种将全局媒体操作(Play/pause、下一个、上一个)发送到 phone 的方法,就像它可以从配对的蓝牙 radio/speaker 中获取一样.

我找到了 MediaController class (http://developer.android.com/reference/android/widget/MediaController.html),但它似乎更像是实现这些操作的接收者,我正在寻找发送者。

但是,我无法在 android 文档中的任何地方找到对此的任何引用...

有人已经偶然发现了这个吗?

通过 HEADSET_PLUGMEDIA_BUTTON 操作查看 BroadCastReceiver,还有 LINK

也许这对你有帮助

因此,如果您的 activity 被称为 MainActivity,您可以这样做:

//for play/pause toggle
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "togglepause");
MainActivity.this.sendBroadcast(i);

//for next
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "next");
MainActivity.this.sendBroadcast(i);

//for prev
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "previous");
MainActivity.this.sendBroadcast(i);

//to change volume
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, *value*, AudioManager.FLAG_SHOW_UI);

您可以通过 adb 使用 ActivityManager 轻松发送媒体(和许多其他事件)的广播操作,例如adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED 将安装您的媒体。在这里查看更多:https://developer.android.com/reference/android/content/Intent.html