android 6.0 api

Rogin 发布于 2016/03/06 13:43
阅读 967
收藏 0
android 6.0下android.os.Environment.getExternalStorageDirectory()取得的文件目录用listFiles()方法为什么会取不到文件呢?
加载中
0
qichuan
qichuan

在Manifest有申请读写外部存储空间的权限吗?

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Rogin
Rogin
我加完这两句还是没用,我用的是nexus5x,没有外置SD卡的
0
jie_zi
jie_zi
同意楼上
0
吞鱼小王子
吞鱼小王子
或者看下是否允许了读取外存的权限
0
超级IT
  6.0 改了。  Manifest 需要申明,运行时 最好判断、申请一下
0
qichuan
qichuan

在6.0里必须进行实时权限申请

 private boolean checkPermission(String permission, int requsetCode){

        int hasPermission = checkSelfPermission(permission);
        if (hasPermission != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{permission}, requsetCode);
            return false;
        } else {
            return true;
        }

    }

 @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
         if(requestCode == 1){
            //检查grantResults看看是否用户允许该权限。
        } else {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }


最好再检查一下系统版本。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, 1);
}

返回顶部
顶部