4

我发现了许多具有相同威胁的类似主题,但我仍然找不到解决问题的方法。我编写了此代码以授予应用程序写入权限,但没有显示对话框。我在监视器中显示“无写入权限”消息。

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

2 回答 2

2

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

 requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225);
于 2016-09-27T14:01:39.110 回答
1

RequestPermissions 对话框仅在设备>= 6.0的以下 2 种情况下不会显示:

1) 要么您已经授予您要求的类别中的任何危险权限。

2)当对话框之前显示时,您已单击“不再询问”复选框。

于 2016-09-27T14:12:24.970 回答