IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 相机调用储存出现Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)的解决办法(已解决) -> 正文阅读

[移动开发]相机调用储存出现Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)的解决办法(已解决)

1.在AndroidManifest中添加相机和文件读写权限
出现该种报错是因为权限被限制,需要自行设置
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>


2. 在调用相机的Java文件中添加下面代码
? ? public static final int TAKE_PHOTO = 1;
? ? public static final int CROP_PHOTO = 2;
? ? private Button takePhotoBn;
? ? private ImageView showImage;
? ? private Uri imageUri; //图片路径
? ? private String filename; //图片名称

?//6.0以上需要调用权限校验
? ? private static final int REQUEST_EXTERNAL_STORAGE = 1;
? ? private static String[] PERMISSIONS_STORAGE = {
? ? ? ? ? ? Manifest.permission.READ_EXTERNAL_STORAGE,
? ? ? ? ? ? Manifest.permission.WRITE_EXTERNAL_STORAGE,
? ? ? ? ? ? Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS};
? ? //在 Activity 中添加权限校验
? ? public static void verifyStoragePermissions(Activity activity) {
? ? ? ? int permission = ActivityCompat.checkSelfPermission(activity,
? ? ? ? ? ? ? ? Manifest.permission.ACCESS_FINE_LOCATION);

? ? ? ? if (permission != PackageManager.PERMISSION_GRANTED) {
? ? ? ? ? ? ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,
? ? ? ? ? ? ? ? ? ? REQUEST_EXTERNAL_STORAGE);
? ? ? ? }
? ? }


?
在onCreate中加入以下代码调用上述方法

?//6.0以上需要调用权限校验
? ? ? ? verifyStoragePermissions(this);
? ? ? ? takePhotoBn = (Button) findViewById(R.id.button);
? ? ? ? showImage = (ImageView) findViewById(R.id.imageView);
? ? ? ? //取消严格模式 ?FileProvider
? ? ? ? if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
? ? ? ? ? ? StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
? ? ? ? ? ? StrictMode.setVmPolicy( builder.build() );
? ? ? ? }


?3.在AndroidManifest的application中添加android:requestLegacyExternalStorage=“true”

?4、确定你的手机没有连接到电脑,因为SD卡只能被手机访问或者被电脑访问,不能二者同时访问。

5、如果你的应用需要创建文件或者目录,还需要添加如下权限:

?<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:32:03  更:2021-08-10 13:34:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:38:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码