问题描述
|
我想从我的应用程序发送一个广播(或者说是一个意图?),如果正在播放或播放/暂停等内容,它将转到音乐播放器的下一个曲目。这是到目前为止的代码:
final Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
i.putExtra(Intent.EXTRA_KEY_EVENT,KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE);
context.sendBroadcast(i);
但是,据我的测试所知,此代码片段并没有做任何事情。顺便说一句,我把这段代码放到一个函数中,并从后台服务中调用它,以防万一。
那么如何使此功能起作用?如果由于某些原因无法实现,我欢迎您提出解决方法和/或替代解决方案的建议。
非常感谢,谢谢。
解决方法
您使用ѭ1的方式不正确。请参阅Intent#EXTRA_KEY_EVENT。您需要使用
KEYCODE_MEDIA_PLAY_PAUSE
键代码实例化一个新的KeyEvent
对象。只是将意图中的键码传递为Integer,而不是KeyEvent
。
该线程显示了创建“ 2”对象的示例。
, 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,null);