最近在上Android课学习时,需要向SD卡中新建一个data.txt文件
但现实无法向外围设备(SD卡)存储数据。
在AndroidManifest.xml也加了以下权限配置信息

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

但是并没有用

java.io.FileNotFoundException: /storage/emulated/0/data.txt (Permission denied)
  经过查询,发现在Android6.0 就是API 23之后。APP需要动态获取权限。需要用代码获取权限,这也是为了用户数据更加安全。


在Activity代码中如上图加入这些代码就可以了。

 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);     }
动态申请权限:


点允许(allow)就行了

更多相关文章

  1. Android(安卓)通过高德地图获取地址的经纬度
  2. Android(安卓)ListView组件详解及示例代码
  3. Android(安卓)面试题之系统相关
  4. android中activity的生命周期
  5. 弹出对话框--------android Toast 五种情形(无按钮)
  6. android 获取字符串在屏幕中所占像素宽度和高度
  7. Android(安卓)控件之GridView
  8. Android:防止过快点击造成多次事件
  9. Android获取控件的大小

随机推荐

  1. 全局控制依赖的版本号
  2. Android Chronometer控件实现计时器函数
  3. 【Android 初学】5、控件--ImageView的使
  4. android 多线程处理UI
  5. Android 中的 openGL
  6. 高手速成android开源项目【项目篇】
  7. Android开机启动过程
  8. 关于Android接入USB外接摄像头以及控制拍
  9. Android Context简单总结
  10. 使用三星 Nexus S 开始 Android 开发之旅