2016-04-18 9 views
0

habe ich die Erlaubnis, auf dem manifest.xmlPermission Denial: Lesen com.android.providers.media.MediaProvider uri Inhalt: // media/extern/images/media/38

Aber ich immer noch mit den gleichen Fehler :

Permission Denial: reading com.android.providers.media.MediaProvider

Hilf mir bitte.

Meine Java-Klasse

 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); 
    } 

    } 

    } 

Meine Tätigkeit

<?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> 

ist mein Code nicht arbeiten Danke

+0

HTML wird nie Fehler werfen. – Justinas

+0

Sorry, ich habe eine Störung:/bei Android –

+0

Ihre Verwendung Marshmallow? –

Antwort

0

Erlaubnis externe Schreib-/Lese hinzufügen in Manifest-Datei

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

ich tat .. aber das problem ist nicht gelöst, ich habe den gleichen fehler

+0

Sonst bin ich sicher, dass Sie eine Erlaubnis vermissen –

+0

Einige andere Erlaubnis shiuld wird fehlen .. –

0

die Sie interessieren, Setzen Sie diesen Code in onCreate direkt nach setContentView und setzen Sie den restlichen Code von onCreate in anderen Teil:

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); 
     } 
    } 

aus Seite onCreate schreiben:

@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); 
     } 
    } 
} 
+0

danke, ich werde es versuchen –

0

Ich hatte auch gleiche Problem, Haben sofern Berechtigungen wie unten in manifext.xml

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

Dank Krish

Verwandte Themen