Come chiedere l'authorization a accedere alla gallery su android M.?

Ho questa app che raccoglierà l'image in galleria e la visualizzerà alla prova usando Imageview. Il mio problema è che non functionrà su Android M. Posso scegliere l'image, ma non mostrerò sul mio test.Ci dicono che ho bisogno di chiedere l'authorization a accedere alle immagini su android M, ma non so come. per favore aiuto.

  • Riferimento di object SoapObject di KSoap2 non impostato su un'istanza
  • Android Orientation Change
  • AlertDialog con button positivo e validation EditText personalizzato
  • Blocca tutto il modo per chiudere un'applicazione android
  • Opzioni submenu per il controllo degli Android
  • Come posso get i dati grezzi GPS (pseudo gamma dei satelliti)?
  • I comandi di esecuzione di suoni Android non funzionano programmaticamente
  • la disinstallazione di adb non è rioutput
  • Come eseguire il command terminal nell'applicazione Android?
  • Spinner con text e icone
  • 3D Flip Animation su android.support.v4.Fragment
  • Problemi di Android JSON CharSet UTF-8
  • 2 Solutions collect form web for “Come chiedere l'authorization a accedere alla gallery su android M.?”

    A partire da Android 6.0 (livello API 23), gli utenti concedono autorizzazioni alle applicazioni durante l'esecuzione dell'applicazione, non quando si installa l'applicazione.

    Tipo 1- Quando l'applicazione richiede le autorizzazioni, il sistema presenta una window di dialogo all'utente. Quando l'utente risponde, il sistema invoca il metodo onRequestPermissionsResult () di tua applicazione, passandolo alla risposta dell'utente. L'applicazione deve ignorare questo metodo per scoprire se l'authorization è stata concessa. Il richiamo è passato lo stesso codice di richiesta che hai passato a requestPermissions ().

    private static final int PICK_FROM_GALLERY = 1; ChoosePhoto.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v){ try { if (ActivityCompat.checkSelfPermission(EditProfileActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(EditProfileActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PICK_FROM_GALLERY); } else { Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(galleryIntent, PICK_FROM_GALLERY); } } catch (Exception e) { e.printStackTrace(); } } }); @Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case PICK_FROM_GALLERY: // If request is cancelled, the result arrayss are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(galleryIntent, PICK_FROM_GALLERY); } else { //do something like displaying a message that he didn`t allow the app to access gallery and you wont be able to let him select from gallery } break; } } 

    Tipo 2- Se si desidera consentire all'authorization di runtime di ritornare indietro in un unico posto, è ansible seguire il collegamento sotto

    Permessi multipli di Android 6.0

    E in Manifest aggiungere l'authorization per i tuoi requisiti

     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> 

    Nota: se Manifest.permission.READ_EXTERNAL_STORAGE produce errori, sostituisci questo con android.Manifest.permission.READ_EXTERNAL_STORAGE.

    ==> Se vuoi saperne di più sull'authorization di runtime, segui il link sottostante

    https://developer.android.com/training/permissions/requesting.html

     public void pickFile() { int permissionCheck = ContextCompat.checkSelfPermission(getActivity(), CAMERA); if (permissionCheck != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( getActivity(), new String[]{CAMERA}, PERMISSION_CODE ); return; } openCamera(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { if (requestCode == PERMISSION_CODE) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { openCamera(); } } } private void openCamera() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAMERA_CODE); } Add permissions in Manifest Also <uses-permission android:name="android.permission.CAMERA" /> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.