具体的使用方法:

  •   用 AudioManager 对象注册一个 MediaoButtonRecevie,让它成为 MEDIA_BUTTON。
  audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager  audioManager!!.registerMediaButtonEventReceiver(ComponentName(context,MusicIntentReceiver::class.java!!))
  • 广播必须在 AndroidManifest.xml 文件中进行声明,否则就监听不到该 MEDIA_BUTTON 广播了。
                                                       
  • 创建 MusicIntentReceiver 类
    class MusicIntentReceiver : BroadcastReceiver() {        override fun onReceive(context: Context, intent: Intent) {            LogManager.info("onReceive" + intent.action)            if (intent.action == android.media.AudioManager.ACTION_AUDIO_BECOMING_NOISY) {            } else if (intent.action == Intent.ACTION_MEDIA_BUTTON) {                val keyEvent = intent.extras!!.get(Intent.EXTRA_KEY_EVENT) as KeyEvent                LogManager.info("action:" + intent.action + "    keycode:" + keyEvent.keyCode)                when (keyEvent.keyCode) {                    KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE -> {                                        }                    KeyEvent.KEYCODE_MEDIA_PLAY -> {                    }                    KeyEvent.KEYCODE_MEDIA_PAUSE -> {                                          }                    KeyEvent.KEYCODE_MEDIA_STOP -> {                                         }                    KeyEvent.KEYCODE_MEDIA_NEXT -> {                                      }                    KeyEvent.KEYCODE_MEDIA_PREVIOUS -> {                                     }                }            }    }

 

更多相关文章

  1. IntentService通过HandlerThread单独开启一个线程来处理所有Inte
  2. Android上下文对象Context
  3. Android pm命令使用方法
  4. android投屏和媒体共享相关 && audio focus机制相关 && AudioTra
  5. Android Studio SVN 使用方法
  6. Ashmem(Android共享内存)使用方法和原理
  7. Android 访问Webservice接口,参数对象不能串行化问题解决(java.lan
  8. Android GridView的使用方法
  9. Activity之间传递对象

随机推荐

  1. Android ViewFlipper within TabHost for
  2. Android(安卓)Studio技巧 之 自动命名APK
  3. Android之解决androidx.appcompat.widget
  4. android 2 app development
  5. Android遍历SqlLite cursor对象:
  6. [置顶] android调用.net的webservice的例
  7. Android下载文件提示文件不存在。。。 ja
  8. 一个PhoneGap写的小应用
  9. Android播播放完SD卡指定文件夹音乐之后,
  10. Android(安卓)5.0以上版本去掉Button自带