学习 Android 中,写小程序, Android 5.0 无法显示、播放在 SD 卡根目录的图片、音频,但是 Android 4.1.2 正常,求解-。-

2015-02-28 18:14:07 +08:00
 nicktogo
这里是播放音频的关键代码,之后调用MediaPlayer的start()方法,但是没声音

https://gist.github.com/nicktogo/493a32946e58ee931ca3

获取图片的方法也是用了类似于上面的第一行代码,只是文件名改成了***.jpg
我觉得问题可能是这个找到音频、图片的方法不适用于Android 5.0 ?
10538 次点击
所在节点    Android
6 条回复
bkmi
2015-02-28 18:37:46 +08:00
API 19以上现在强制要求android.permission.READ_EXTERNAL_STORAGE 和android.permission.WRITE_EXTERNAL_STORAGE 权限了。
nicktogo
2015-02-28 19:02:42 +08:00
@bkmi 谢谢,播放音频解决了,但是图片显示依然不行,我是调用摄像头拍照、从图库选择并裁剪后显示的,裁剪后提示无法保存对图片的修改。。。能不能帮忙看下代码呢?如果不行就算了,谢谢。
https://gist.github.com/nicktogo/e156ddeaeaaf3feeb438
bkmi
2015-02-28 19:32:11 +08:00
@nicktogo 同样API 19+限制了直接写入外置卡,只允许操作Android/data/data/包名/ 下的目录,你应该把你的图片保存在这个目录下, 开发中通常不直接操作绝对路径,你可以使用API提供的一些方法来获取可操作的目录,比如Context.getExternalFilesDir Context.getFilesDir 、getExternalCacheDir,getCacheDir
wwqgtxx
2015-02-28 19:45:49 +08:00
不过貌似国内的rom都把这个限制去掉了…
guojing
2015-03-02 08:40:46 +08:00
@bkmi 我Nexus 5手机测试没android.permission.READ_EXTERNAL_STORAGE这个权限也可以,怎么回事
zgxltxz
2015-03-17 18:03:23 +08:00
安卓5.0貌似已经放开了写入根目录的权限

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/173572

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX