简体   繁体   English

拒绝权限:阅读com.android.providers.media.MediaProvider uri content:// media / external / images / media / 38

[英]Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/38

I added the permission on the manifest.xml 我在manifest.xml中添加了权限

But I still having the same error: 但是我仍然有同样的错误:

Permission Denial: reading com.android.providers.media.MediaProvider 拒绝权限:阅读com.android.providers.media.MediaProvider

Help me please. 请帮帮我。

My java class 我的java课

     package com.example.maymaa.mytest;
      +import..

   public class Image extends AppCompatActivity {
   private static final int PICK_IMAGE =100;
   Uri imageUri;
   ImageView imageview1;
   Button button;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image);
   imageview1=(ImageView)findViewById(R.id.imageview1);
   button=(Button)findViewById(R.id.btphoto);
    assert button != null;
    button.setOnClickListener(new View.OnClickListener(){


        @Override
        public void onClick(View v) {
         openGallery();

        }}
    );}
 private void openGallery()

{


   Intent gallery= new Intent    
  (Intent.ACTION_PICK,MediaStore.Images.Media.INTERNAL_CONTENT_URI);


    startActivityForResult(gallery, PICK_IMAGE);
}

  @Override
  protected  void onActivityResult
          (int requestcode,int resultcode,Inten  data)       
{

  super.onActivityResult(requestcode,resultcode,data);

      if(resultcode == RESULT_OK && requestcode==PICK_IMAGE){
          imageUri =data.getData();
          imageview1.setImageURI(imageUri);
  }

   }

  }

My activity 我的活动

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="10dp"
android:weightSum="1">

<ImageView
    android:layout_width="361dp"
    android:layout_height="255dp"
    android:id="@+id/imageview1"
    android:layout_weight="0.14" />

<Button
    android:layout_width="180dp"
    android:layout_height="wrap_content"
    android:text="Choisir"
    android:layout_gravity="center_horizontal"
    android:onClick="btnclick"
    android:id="@+id/btphoto"
    />


</LinearLayout>

My code is not working Thank you 我的代码无法正常工作,谢谢

Add external read/write permission in Manifest file 在清单文件中添加外部读/写权限

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

Try this, Put this code in onCreate right after setContentView and put the remaining code of onCreate in else part: 尝试此操作,将这段代码放在setContentView之后的onCreate中,然后将onCreate的其余代码放在else部分中:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

        int hasWritePermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int hasReadPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);

        List<String> permissions = new ArrayList<String>();
        if (hasWritePermission != PackageManager.PERMISSION_GRANTED) {
            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        } else {
            preferencesUtility.setString("storage", "true");
        }

        if (hasReadPermission != PackageManager.PERMISSION_GRANTED) {
            permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);

        } else {
            preferencesUtility.setString("storage", "true");
        }

        if (!permissions.isEmpty()) {
            requestPermissions(permissions.toArray(new String[permissions.size()]), REQUEST_CODE_SOME_FEATURES_PERMISSIONS);
        }
    }

out side onCreate write : 在onCreate外面写:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case REQUEST_CODE_SOME_FEATURES_PERMISSIONS: {
            for (int i = 0; i < permissions.length; i++) {
                if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                    System.out.println("Permissions --> " + "Permission Granted: " + permissions[i]);
                } else if (grantResults[i] == PackageManager.PERMISSION_DENIED) {
                    System.out.println("Permissions --> " + "Permission Denied: " + permissions[i]);
                }
            }
        }
        break;
        default: {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

I also had same issue , Have provided permissions as below in manifext.xml 我也有同样的问题,在manifext.xml中提供了如下所示的权限

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

Thanks Krish 谢谢克里希

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.SecurityException:权限拒绝:阅读com.android.providers.media.MediaProvider - java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider 应用程序崩溃引发权限拒绝异常:读取com.android.providers.media.MediaProvider - App Crashes throwing an exception of permission denial:reading com.android.providers.media.MediaProvider java.lang.SecurityException:Permission Denial:在Android中读取com.android.providers.media.MediaProvider同时从图库中获取图片 - java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider in Android while taking picture from gallery 权限拒绝:开放提供者 com.android.providers.media.MediaDocumentsProvider - Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider java.lang.SecurityException:权限被拒绝:打开提供程序 com.android.providers.media.Media - java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.Media cordova-plugin-camera:权限被拒绝:读取com.android.providers.media.MediaDocumentsProvider需要android.permission.MANAGE_DOCUMENTS - cordova-plugin-camera: Permission Denial: reading com.android.providers.media.MediaDocumentsProvider requires android.permission.MANAGE_DOCUMENTS 权限拒绝:重新启动应用程序时打开提供程序 com.android.providers.media.MediaDocumentsProvider - Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider when RESTARTING the app CameraRoll.deletePhotos([uri]) @react-native-community/cameraroll com.om 无权访问 content://media/external/images/media/88**** - CameraRoll.deletePhotos([uri]) @react-native-community/cameraroll com.om has no access to content://media/external/images/media/88**** 权限拒绝媒体文件提供者 - Permission Denial media documents provider Android:MediaStore.Images.Media.EXTERNAL_CONTENT_URI…以全尺寸显示图片吗? - Android: MediaStore.Images.Media.EXTERNAL_CONTENT_URI … show pictures in full size?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM