【问题标题】:java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.Mediajava.lang.SecurityException: Permission Denial: 打开提供者 com.android.providers.media.Media
【发布时间】:2017-06-24 14:12:14
【问题描述】:

我得到-

java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from ProcessRecord{f1d408f 5594:firebasejobscheduler.test.com.firbasejobschedulerdemo/u0a1227} (pid=5594, uid=11227) requires android.permission.MANAGE_DOCUMENTS or android.permission.MANAGE_DOCUMENTS

 bm = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);

我检查了this 的帖子,但无法解决。我该如何解决?

【问题讨论】:

  • 您的测试设备的操作系统版本是多少?
  • 棉花糖和棒棒糖适用于两种不同的设备
  • @RejoylinLokeshwaran 我已经看到并尝试了 Intent.ACTION_OPEN_DOCUMENT .. 但崩溃发生在“bm = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);”
  • 在哪个设备上崩溃了?

标签: android android-permissions securityexception android-securityexception


【解决方案1】:

您必须检查 Marshmallow 中的 RunTimePermissions。 检查这个link。 检查它的 READ_EXTERNAL_STORAGE 权限

【讨论】:

  • 相信我它不起作用,securityException 仅在您的应用程序不允许某些权限时出现...您的异常要求 android.permission.MANAGE_DOCUMENTS 权限.. 试试这个也有权限..
  • 如果你还是想检查你的应用程序,那么在你的安卓设备中转到设置-> 应用程序->_yourapp_->权限-> 允许所有需要的权限,但不推荐,您应该提供允许应用程序权限的 UI.. 在这里您可以看到需要哪些权限
  • 我在清单和运行时都添加了权限..我已经检查过..我在服务内部使用bm = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);,如果我的服务启动,我会在 rebbot 设备上崩溃
  • 您是否将权限状态保存在 sharedPreferences 中?如果您不保存权限状态,可能会发生这种情况。
猜你喜欢
  • 2013-09-21
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多