2016-09-27 2 views
2

J'ai trouvé beaucoup de sujets similaires avec la même menace, mais je ne trouve toujours pas de solution à mon problème. J'ai écrit ce code pour accorder l'autorisation d'écriture à l'application mais il n'y a aucune boîte de dialogue montrant. Je reçois dans le moniteur les messages d'autorisation d'écriture.RequestPermissions ne montre pas une boîte de dialogue

if(ContextCompat.checkSelfPermission(getContext(),Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) { 
Log.i("permissions", "No writing permission"); 

ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225); 

j'ai ajouté l'autorisation dans le AndroidManifest PIF

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

changé la cible sdk targetSdkVersion 23, et je me sers android 6.0.1.

Edit: J'ai aussi attaché ce code, mais il ne fonctionne toujours pas

requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225); 
+0

Quelle version de l'appareil utilisez-vous? –

+0

Je viens de copier votre code et cela fonctionne correctement. –

Répondre

1

RequestPermissions Dialog ne sera pas affiché que dans moins de 2 cas sur l'appareil > = 6.0:

1) Soit vous avez déjà donné l'autorisation à l'une quelconque des permissions dangereuses au sein de la catégorie que vous êtes Demander.

2) Vous avez cliqué sur Ne jamais demander à nouveau case à cocher lorsque la boîte de dialogue avait déjà été affichée.

1

J'ai eu un cas similaire. N'essayez pas de l'appeler avec ActivityCompat à partir d'un fragment. Au lieu de cela, utilisez la méthode requestPermissions donnée du Fragment, par ex.

requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225); 
+0

J'utilise aussi essayé, ne fonctionne toujours pas. – user567