Android获取系统播放音乐信息
16lz
2021-01-26
如题,需要获取播放的音乐信息,原理是播放音乐的时候会发送四种广播,因此可以使用广播接收器拦截一下广播……但是!!!!当系统正在播放音乐的时候,我还不知道怎么获取音乐信息QAQ要是哪位知道怎么获取,求告知QAQ
MusicBroadcastReceiver mbr = null;class MusicBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { artistName = intent.getStringExtra("artist"); musicName = intent.getStringExtra("track"); Log.d(TAG, "onReceive: " + intent.toString()); tvMainMusicArtist.setText("— " + artistName + " —"); tvMainMusicName.setText(musicName); //此处是用来查看intent中包含的key Bundle bundle = intent.getExtras(); Set set = bundle.keySet(); for (Iterator iterator = set.iterator(); iterator.hasNext(); ) { String key = (String) iterator.next(); Object value = bundle.get(key); Log.i("IntentActivity", "key:" + key + " value:" + value); } }}
注册一下广播
@Override protected void onResume() { mbr = new MusicBroadcastReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("com.android.music.metachanged"); intentFilter.addAction("com.android.music.queuechanged"); intentFilter.addAction("com.android.music.playbackcomplete"); intentFilter.addAction("com.android.music.playstatechanged"); registerReceiver(mbr, intentFilter);}
最后别忘了注销
protected void onDestroy() { if (mbr != null) { unregisterReceiver(mbr); } super.onDestroy();}
最后,附intent中的jian键值对:
更多相关文章
- android获取网络图片的用法 BitmapFactory.decodeByteArray 返回
- android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
- Android(安卓)自定义adapter的getView中的ViewGroup parent的宽
- android根目录获取
- android--由文件名获取文件Id的两种方法
- android浏览器研究-UserAgent
- android Launcher3中定制第三方apk图标,实现类似主题功能
- 关于Android(安卓)studio打包发布,以及Android签名的获取
- 第85章、系统服务之ClipBoard_Service(从零开始学Android)