RequestPermissions未显示对话框

时间:2016-09-27 13:57:04

标签: android android-manifest runtime-permissions

我发现了许多具有相同威胁的类似主题,但我仍无法找到解决问题的方法。我写了这段代码来授予应用程序写入权限,但没有显示对话框。我在监视器中获得No writing permission消息。

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

修改 我也绑定了这段代码,但它仍无法正常工作

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

2 个答案:

答案 0 :(得分:2)

我有一个类似的案例。不要尝试从片段中使用ActivityCompat来调用它。而是使用Fragment中的给定requestPermissions方法,例如

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

答案 1 :(得分:1)

RequestPermissions对话框不会仅显示在设备&gt; = 6.0上的以下两种情况下:

1)您已经获得了所要求类别中任何危险权限的许可。

2)之前显示的对话框中,您单击了从不再询问复选框。