FileNotFoundException-访问被拒绝

时间:2020-07-12 00:13:27

标签: java android

我已经允许了,但是当我尝试播放一首歌曲时,它说访问被拒绝。

LogCat:

java.io.FileNotFoundException: /storage/0000-0000/Music/Lentini/Song/Vin Danse Avèm Remix.mp3: open failed: EACCES (Permission denied)

清单:

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

代码:

@Override
protected void onCreate(final Bundle savedInstanceState) {
    if (!hasPermissions(this, permissions)) {
        ActivityCompat.requestPermissions(this, permissions, requestPermissionCode);
    }
}

//Requesting user Permission
public static final String[] permissions = {
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WAKE_LOCK,
        Manifest.permission.WRITE_EXTERNAL_STORAGE,
        Manifest.permission.ACCESS_MEDIA_LOCATION
};

public static boolean hasPermissions(Context context, String[] permissions) {
    for (String permission : permissions) {
        if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
            return false;
        }
    }
    return true;
}

@Override
protected void onResume() {
    super.onResume();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !hasPermissions(this, permissions)) {
        requestPermissions(permissions, requestPermissionCode);
        return;
    }
}

1 个答案:

答案 0 :(得分:0)

I found the answer, if anyone needs it
simply add "android:requestLegacyExternalStorage="true"" to your Manifest.

<application
        ...........
        ........
        ........
        .....
        android:requestLegacyExternalStorage="true">
相关问题