dodobrid 2018-10-10 22:30 采纳率: 0%
浏览 2534

关于Android的错误:Permission Denial: 。。。.READ_EXTERNAL_STORAGE, or grantUriPermission(

这是错误代码 ,在虚拟机运行时崩溃,

    E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.add.mp3list, PID: 7193
              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.add.mp3list/com.add.mp3list.MainActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=7193, uid=10090 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
                  at android.app.ActivityThread.-wrap11(Unknown Source:0)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
                  at android.os.Handler.dispatchMessage(Handler.java:105)
                  at android.os.Looper.loop(Looper.java:164)
                  at android.app.ActivityThread.main(ActivityThread.java:6541)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
               Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=7193, uid=10090 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
                  at android.os.Parcel.readException(Parcel.java:1942)
                  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
                  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
                  at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)
                  at android.content.ContentResolver.query(ContentResolver.java:754)
                  at android.content.ContentResolver.query(ContentResolver.java:704)
                  at android.content.ContentResolver.query(ContentResolver.java:662)
                  at com.add.mp3list.MusicList.getMusicData(MusicList.java:26)
                  at com.add.mp3list.MainActivity.onCreate(MainActivity.java:21)
                  at android.app.Activity.performCreate(Activity.java:6975)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
                  at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
                  at android.os.Handler.dispatchMessage(Handler.java:105) 
                  at android.os.Looper.loop(Looper.java:164) 
                  at android.app.ActivityThread.main(ActivityThread.java:6541) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

Application terminated.

展开全部

  • 写回答

3条回答 默认 最新

  • 皮小智 2018-10-11 00:26
    关注

    1.首先检查你在AndroidManifest.xml中,是否已经配置了android.permission.READ_EXTERNAL_STORAGE这个权限, 没有的话加上下面这个:

     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    

    2.然后查看你的SDK是不是大于23,如果大于23还需要动态申请权限:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
         requestPermissions(needPermissions, PERMISSON_REQUESTCODE);
     }
    

    needPermissions是你要申请的权限,PERMISSON_REQUESTCODE 是请求码自己定义用于回调的;具体·的你可以查下Android6.0动态权限了解。

    3.确保权限获取后再次执行你后面的操作。

    评论
编辑
预览

报告相同问题?

问题事件

  • 提问应符合社区要求 11月30日

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写