小编lof*_*fty的帖子

Android 9.+ API 29:/storage/emulated/0/Pictures/myPic.png 打开失败:EACCES(权限被拒绝)

我正在使用 Android Virtual Device (AVD) Nexus 7 (2012) API 29 在 Android Studio 3.4.1 上尝试一个非常基本的相机应用程序的源代码。我在模拟器中用相机拍了一张照片,并试图将其保存为 / storage/emulated/0/Pictures/myPic.png,但有一个异常 /storage/emulated/0/Pictures/myPic.png 打开失败:EACCES(权限被拒绝)。我已经尝试了所有在线提供的建议,例如:

  1. 在 AndroidManifest.xml 中,我添加了:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Run Code Online (Sandbox Code Playgroud)
  1. 在 MainActivity.java 中,我添加了以下运行时权限检查和请求代码:
public class MainActivity extends Activity {

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

    public static void verifyStoragePermissions(Activity activity) {
        int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

        boolean checkPermission = (permission == PackageManager.PERMISSION_GRANTED);

        Toast toastPermission = Toast.makeText(activity,
                "Is permission granted? " …
Run Code Online (Sandbox Code Playgroud)

android-studio

9
推荐指数
3
解决办法
7204
查看次数

标签 统计

android-studio ×1