小编fut*_*eer的帖子

打开失败:EACCES(拒绝权限)api23?

我知道运行时权限,并且已经考虑了这一点,但是它仍然无法正常工作。我添加了以下几行来体现:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

这是我的onCreate方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new);
    if (shouldAskPermissions()) {
        askPermissions();
    }
    generateNoteOnSD(this,fileName,msg);
    readFile(fileName);
}
Run Code Online (Sandbox Code Playgroud)

这是用于请求和授予许可

protected static boolean shouldAskPermissions() {
    return (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1);
}

@TargetApi(23)
protected void askPermissions() {
    String[] permissions = {
            "android.permission.READ_EXTERNAL_STORAGE",
            "android.permission.WRITE_EXTERNAL_STORAGE"
    };
  /*  int requestCode = 200;
    requestPermissions(permissions, requestCode);*/
    // Check if we have write permission
    int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-file android-permissions runtime-permissions

2
推荐指数
1
解决办法
3047
查看次数