获取Android手机中的所有的可用音乐播放器
2014-03-21 13:35
561 查看
本文讲解了如何获取手机中所有可用的音乐播放器。
我们知道,如果在手机中安装几种播放器时,我们点击音乐文件时会弹出一个音乐播放器的选择器。我们获取所有的音乐播放器就是参考这个选择器的原理实现的,当然,也
可以获取视频播放器,图片浏览器,网页浏览器等等。
首先我们需要获得一个PackageManager对象:
PackageManager pm = context.getPackageManager();
接着我们需要虚构一个Intent:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.setDataAndType(Uri.fromFile(new File("")), "audio/*");// type:改成"video/*"表示获取视频的
接下来我们可以查询了:
List<ResolveInfo> mResolveInfoList = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
Flags:附加的标识符。MATCH_DEFAULT_ONLY比较重要,表示只会得到哪些支持CATEGORY_DEFAULT的Activity。
最后我们可以根据获得的LIst,就得到了手机中所有可用的音乐播放器了:
for (ResolveInfo ri : mResolveInfoList) {
Log.d(TAG,"Icon: " + ri.loadIcon(pm));
Log.d(TAG,"应用名: " + ri.loadLabel(pm));
Log.d(TAG,"包名: " + ri.activityInfo.packageName);
}
我们知道,如果在手机中安装几种播放器时,我们点击音乐文件时会弹出一个音乐播放器的选择器。我们获取所有的音乐播放器就是参考这个选择器的原理实现的,当然,也
可以获取视频播放器,图片浏览器,网页浏览器等等。
首先我们需要获得一个PackageManager对象:
PackageManager pm = context.getPackageManager();
接着我们需要虚构一个Intent:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.setDataAndType(Uri.fromFile(new File("")), "audio/*");// type:改成"video/*"表示获取视频的
接下来我们可以查询了:
List<ResolveInfo> mResolveInfoList = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
Flags:附加的标识符。MATCH_DEFAULT_ONLY比较重要,表示只会得到哪些支持CATEGORY_DEFAULT的Activity。
最后我们可以根据获得的LIst,就得到了手机中所有可用的音乐播放器了:
for (ResolveInfo ri : mResolveInfoList) {
Log.d(TAG,"Icon: " + ri.loadIcon(pm));
Log.d(TAG,"应用名: " + ri.loadLabel(pm));
Log.d(TAG,"包名: " + ri.activityInfo.packageName);
}
相关文章推荐
- android 下 Error format not a string literal and no format arguments 解决方案
- android 引入 iconv 库
- Android中Bitmap,byte[],Drawable相互转化
- Android Design —— Metrics and Grids、Typography、Color、Iconography
- ubuntu下面android源码下载之-下载android源码
- android刷新listview列表
- Android自动化测试工具之MonkeyRunner
- Android开发之sdcard读写数据(源代码分享)
- Android版简历(二)
- Xamarin 中android开发时,axml文件出错。Disconnected from layout renderer
- 浅谈android的跑马灯效果(文字滚动)
- android 拨号界面输入特定指令进行特定操作
- 拼接PullToRefreshListView和SlideExpandableListView的功能
- Android 2.3下重写PopupWindow的NullPointerException问题
- Android ExifInterface 学习笔记,图片旋转的操作。
- Android任务、进程、线程详解
- Android入门:增删改查通讯录
- js android页面被挂起问题解决
- Android编译
- Android 导入项目时报Android.jar包丢失解决方法