V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nicktogo
V2EX  ›  Android

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

  •  
  •   nicktogo · 2015-02-28 18:14:07 +08:00 · 5697 次点击
    这是一个创建于 3338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这里是播放音频的关键代码,之后调用MediaPlayer的start()方法,但是没声音



    获取图片的方法也是用了类似于上面的第一行代码,只是文件名改成了***.jpg
    我觉得问题可能是这个找到音频、图片的方法不适用于Android 5.0 ?
    6 条回复    2015-03-17 18:03:23 +08:00
    bkmi
        1
    bkmi  
       2015-02-28 18:37:46 +08:00
    API 19以上现在强制要求android.permission.READ_EXTERNAL_STORAGE 和android.permission.WRITE_EXTERNAL_STORAGE 权限了。
    nicktogo
        2
    nicktogo  
    OP
       2015-02-28 19:02:42 +08:00
    @bkmi 谢谢,播放音频解决了,但是图片显示依然不行,我是调用摄像头拍照、从图库选择并裁剪后显示的,裁剪后提示无法保存对图片的修改。。。能不能帮忙看下代码呢?如果不行就算了,谢谢。
    https://gist.github.com/nicktogo/e156ddeaeaaf3feeb438
    bkmi
        3
    bkmi  
       2015-02-28 19:32:11 +08:00   ❤️ 1
    @nicktogo 同样API 19+限制了直接写入外置卡,只允许操作Android/data/data/包名/ 下的目录,你应该把你的图片保存在这个目录下, 开发中通常不直接操作绝对路径,你可以使用API提供的一些方法来获取可操作的目录,比如Context.getExternalFilesDir Context.getFilesDir 、getExternalCacheDir,getCacheDir
    wwqgtxx
        4
    wwqgtxx  
       2015-02-28 19:45:49 +08:00 via Android
    不过貌似国内的rom都把这个限制去掉了…
    guojing
        5
    guojing  
       2015-03-02 08:40:46 +08:00
    @bkmi 我Nexus 5手机测试没android.permission.READ_EXTERNAL_STORAGE这个权限也可以,怎么回事
    zgxltxz
        6
    zgxltxz  
       2015-03-17 18:03:23 +08:00 via Android
    安卓5.0貌似已经放开了写入根目录的权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2992 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:09 · PVG 19:09 · LAX 04:09 · JFK 07:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.