Android实现选择本地音乐
- 一、目标
- 二、实现代码
- 三、遇到的问题
- 四、过程回顾
- 五、优化方案
- 六、接下来
- 七、Finally
一、目标
神马笔记实现在笔记中添加音乐。
二、实现代码
复制代码
1
2
3
4
5
6
7final String type = "audio/*"; final String[] mimeTypes = null; boolean result = PackageUtils.pick(this.getActivity(), this, type, mimeTypes, documentOnly, c); return result;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46public static final boolean pick(Activity context, Fragment fragment, String type, String[] mimeTypes, boolean documentOnly, int requestCode) { boolean result = false; if (context == null && fragment == null) { return false; } ArrayList<String> list = new ArrayList<>(); list.add(Intent.ACTION_OPEN_DOCUMENT); list.add(Intent.ACTION_GET_CONTENT); if (!documentOnly) { list.add(0, Intent.ACTION_PICK); } for (String action : list) { if (action.equalsIgnoreCase(Intent.ACTION_PICK)) { if (mimeTypes != null && mimeTypes.length > 1) { continue; } } Intent intent = new Intent(); intent.setAction(action); intent.setType(type); intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); intent.putExtra(Intent.EXTRA_LOCAL_ONLY, false); if (mimeTypes != null && mimeTypes.length > 0) { intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes); } if (action.equalsIgnoreCase(Intent.ACTION_OPEN_DOCUMENT) || action.equalsIgnoreCase(Intent.ACTION_GET_CONTENT)) { intent.addCategory(Intent.CATEGORY_OPENABLE); } try { if (fragment != null) { fragment.startActivityForResult(intent, requestCode); } else { context.startActivityForResult(intent, requestCode); } result = true; break; } catch (Exception e) { e.printStackTrace(); } } return result; }
三、遇到的问题
调用第三方应用选择本地的音乐文件实现非常简单,但是也遇到不少问题。
问题 | 说明 |
---|---|
体验不一致 | 依赖于手机的第三方应用,无法实现一致的用户体验 |
Action支持不一致 | 坚果手机2和荣耀畅玩7不支持ACTION_PICK ,只能以ACTION_OPEN_DOCUMENT 方式调用第三方应用。红米6Pro则同时支持 ACTION_PICK 和ACTION_OPEN_DOCUMENT 。 |
ACTION_OPEN_DOCUMENT体验效果差 | 使用国内主流的音乐APP下载音乐,ACTION_OPEN_DOCUMENT并不能及时发现新下载的音乐,或者说音乐APP并没有通知系统刷新。 这样一来,用户必须导航到APP的音乐文件夹进行选择。 对于普通用户来讲,这将是一件极其困难的事情。 |
四、过程回顾
实现简单,体验欠佳,未来优化。
五、优化方案
在手机上下载音乐,或者通过音乐APP,或者浏览器、或者上传到音乐文件夹。
终归是几个有限的文件夹,将来考虑直接显示这些文件夹的内容以供用户选择。
并且保留ACTION_OPEN_DOCUMENT
提供给手机发烧友使用。
六、接下来
实现第三方播放音乐。
七、Finally
须菩提。于意云何。
可以身相见如来不。
不也。世尊。
不可以身相得见如来。
何以故。
如来所说身相。即非身相。
最后
以上就是柔弱画板最近收集整理的关于Android实现选择本地音乐的全部内容,更多相关Android实现选择本地音乐内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复