我发现了许多具有相同威胁的类似主题,但我仍无法找到解决问题的方法。我写了这段代码来授予应用程序写入权限,但没有显示对话框。我在监视器中获得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);
答案 0 :(得分:2)
我有一个类似的案例。不要尝试从片段中使用ActivityCompat
来调用它。而是使用Fragment中的给定requestPermissions
方法,例如
requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225);
答案 1 :(得分:1)
RequestPermissions对话框不会仅显示在设备&gt; = 6.0上的以下两种情况下:
1)您已经获得了所要求类别中任何危险权限的许可。
2)之前显示的对话框中,您单击了从不再询问复选框。