我使用这段代码为音乐播放器发送诸如播放/暂停之类的操作。
// play / pause
i.putExtra("command", "togglepause");
context.sendBroadcast(i);但它只适用于默认音乐播放器(手机自己的音乐播放器)。有什么办法在其他音乐播放器演奏时控制他们吗?
发布于 2013-12-31 11:46:58
你试过这个-
i.putExtra("command", "pause");编辑:
替代解决方案,使用PackageManager、意图、ResolveInfo等编程列出所有音乐应用程序,然后向列表中的所有应用程序发送命令。
发布于 2015-06-09 11:07:17
从API级19引入了新的API dispatchMediaKeyEvent()。
为媒体按钮发送模拟键事件。要模拟按下键,您必须首先发送一个用KeyEvent操作构建的ACTION_DOWN,然后发送另一个带有ACTION_UP操作的事件。
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
downEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
am.dispatchMediaKeyEvent(downEvent);
upEvent = new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
am.dispatchMediaKeyEvent(upEvent);此媒体事件将仅发送到当前正在运行的音乐播放器,而不是所有播放机。
谢谢
https://stackoverflow.com/questions/20856706
复制相似问题