2016-09-27 3 views
2

Я нашел много похожих тем с той же угрозой, но я все еще не могу найти решение для своей проблемы. Я написал этот код, чтобы предоставить разрешение на запись для приложения, но не отображается диалоговое окно. Я получаю на мониторе сообщения «Нет писем».RequestPermissions не показывает диалоговое окно

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

Я добавил разрешение в AndroidManifest

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

Изменены цель sdk targetSdkVersion 23, и я использую android 6.0.1.

Edit: Я также связали этот код, но он до сих пор не работает

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

Какую версию устройства вы используете? –

+0

Я просто скопировал ваш код, и он работает правильно. –

ответ

1

RequestPermissions Диалог не будет отображаться только в ниже 2 случаях на устройстве > = 6,0:

1) Либо вы уже дали разрешение на любое из опасных разрешений в категории вы просить.

2) Вы нажали кнопку Никогда не спрашивайте снова, когда диалог был показан ранее.

1

Я был похож случай. Не пытайтесь называть его ActivityCompat из фрагмента. Вместо этого используйте данный метод requestPermissions из фрагмента, например.

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

Я также использовал пробовал, все еще не работает. – user567