android 本地数据库报错unknown error (Sqlite code 14): Could not open database, (OS error - 2:No such file or directory)....的根本原因是用了大于23的SDK构建,两种解决方案

一、用低于23的SDK版本构建unknown error (Sqlite code 14): Could not open database, (OS error - 2:No such file or directory)

二、动态添加权限

public static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE};

/**
 * 验证读取sd卡的权限
 *
 * @param activity
 */
public boolean verifyStoragePermissions(Activity activity) {
    /*******below android 6.0*******/
    if (Build.VERSION.SDK_INT < 23) {
        return true;
    }
    int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
    if (permission != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
        return false;
    } else {
        return true;
    }
}

相关文章: