已解决:Android向SD卡存储数据时出现java.io.FileNotFoundException:(Permission denied)
16lz
2021-01-26
在做Android的毕业设计时,需要实现向SD卡中新建一个文件功能。
但出现无法向手机内置SD卡存储数据。
在AndroidManifest.xml已经添加了以下权限配置信息但无果:
解决办法:
在MainActivity中加入动态权限申请,具体如下:
public static final int EXTERNAL_STORAGE_REQ_CODE = 10 ;
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { // 请求权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_REQ_CODE); }
实例如:
……………………………………………… public static final int EXTERNAL_STORAGE_REQ_CODE = 10 ; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //设置画面为主画面 main.xml int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { // 请求权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_REQ_CODE); } …………………………………………
原因:
查询后了解: Android6.0 就是API 23之后。APP需要动态获取权限。需要用代码获取权限,这也是为了用户数据更加安全。
更多相关文章
- Android中对服务器发送http请求
- android permiss manager (安全软件获取权限 禁用 可用 提示状态)
- android中Http类的封装
- 一个Android动态权限的流式权限管理库EasyPermission,帮你申请动
- 自己总结的目前Android通用的流行框架大全
- Rxjava+retrofit 添加公共请求参数及请求结果封装
- Android(安卓)29 创建文件夹失败
- recovery 升级'@/cache/recovery/block.map' failed错误问题
- Android(安卓)Volley完全解析