Android使用意图控制媒体播放器?

问题描述

| 我想从我的应用程序发送一个广播(或者说是一个意图?),如果正在播放或播放/暂停等内容,它将转到音乐播放器的下一个曲目。这是到目前为止的代码:
    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);
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...