android6.0 读取storage文件夹需要手动检测读取权限

来源:互联网 发布:手机淘宝怎么没有直播 编辑:程序博客网 时间:2024/06/05 22:43
楼主的手机是华为P9搭载android6.0,今天一个项目需要读写文件,明明文件目录下存放数据,读文件时一直报FileNotFoundException(没找到文件),写文件时一直报没有权限,然而我都加了。

查了一早上的资料,终于发现API 23(6.0)以上的手机需要手动去检测读取权限。并不会自动帮你检测,检测后可以确认是否允许应用可获得读写权限。若手机本身不允许该权限,就不会允许你读写数据,即便你在应用加了读写权限。

以下为手动检测读取权限代码:

private static final int REQUEST_EXTERNAL_STORAGE = 1;private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};public void myPermission() {int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);if (permission != PackageManager.PERMISSION_GRANTED) {// We don't have permission so prompt the userActivityCompat.requestPermissions(this,PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE);}}
只需要在要读写前,调用myPermission()方法。

在清单文件中添加权限:

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



阅读全文
0 0
原创粉丝点击