[英]Android using intents to control media player?
我想从我的应用程序发送一个广播(或者它是一个意图?),如果正在播放或播放/暂停等,它将 go 到音乐播放器的下一首曲目。这是我到目前为止的代码:
final Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
i.putExtra(Intent.EXTRA_KEY_EVENT, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
context.sendBroadcast(i);
但是,据我从测试中可以看出,这个代码片段并没有做任何事情。 顺便说一句,我将此代码放入 function 并从后台服务调用它,以防万一。
那么我怎样才能让这个功能发挥作用呢? 如果由于某种原因不可能,我愿意接受有关变通方法和/或替代解决方案的建议。
非常感谢,谢谢。
您使用EXTRA_KEY_EVENT
不当。 请参阅Intent#EXTRA_KEY_EVENT 。 您需要使用 KEYCODE_MEDIA_PLAY_PAUSE 键码实例化一个新的KeyEvent
KEYCODE_MEDIA_PLAY_PAUSE
。 仅在意图中传递键码就是将其作为 Integer 传递,而不是作为KeyEvent
传递。
此线程显示了创建KeyEvent
object 的示例。
Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
i.putExtra(Intent.EXTRA_KEY_EVENT,new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT));
sendOrderedBroadcast(i, null);
i = new Intent(Intent.ACTION_MEDIA_BUTTON);
i.putExtra(Intent.EXTRA_KEY_EVENT,new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_NEXT));
sendOrderedBroadcast(i, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.