java.io.FileNotFoundException:/x/x/x/xx.xls:open failed: ENOENT (No such file or directory)

  运行Android Studio时,输出
java.io.FileNotFoundException: /storage/emulated/0/Excel/Person/收集的信息2.xls: open failed: ENOENT (No such file or directory),
在这里插入图片描述

首先,确定相关权限已经开启
AndroidManifest.xml

<!-- 添加上网许可 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission
        android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

发现还是不行,检查android版本,敲黑板

1、在Android 6.0 (API 23) 发布之前, 所有的权限都在安装应用的时候显示给用户,用户选择安装则表示全部接受这些权限, 之后无法撤销对这些权限的授权。
2、Android 6.0开始, 一部分比较危险的权限需要在程序运行时显式弹框,请求用户授权。至于什么时候弹这个框,由应用程序自己决定。
对于其他权限,认为不是很危险,所以仍然保持原来的做法,在用户安装应用程序时就予以授权。
还需要注意的是,在设置中,对于应用的危险权限,用户可以选择性地进行授权或者关闭。
MainActivity.java

private static final int MY_PERMISSIONS_REQUEST =1;
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {
   
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值