Android存储权限

Android存储权限(备忘)

访问外置存储并不是一定需要以下这些权限(Android 4.4以上)

WRITE_EXTERNAL_STORAGE
READ_EXTERNAL_STORAGE

通过

getExternalCacheDir()
getExternalFilesDir()

这两个方法不需要申请权限就可以访问外置存储的

  /storage/sdcard0/Android/data/packname/files
  /storage/sdcard0/Android/data/packname/cache

这两个目录的

  • 4.4以下系统如果没有外置sd卡,调用这两个方法会返回空
  • 4.4以下和4.4以上的存储概念是不一样的。

Android4.4上下存储区别

  1. Android4.4以下

     机身存储=内置存储(系统)
    
     sd卡=外置存储
    
     总容量=机身存储+sd卡
    
  2. Android4.4(包括)以上

     机身存储=机身内置存储(系统)+机身外置存储
    
     sd卡=设备外置存储
    
     总容量=机身存储+sd卡
    

存储位置获取

  1. 内置存储

获取方式:getFilesDir()

sample:/data/data/packname/files

  1. 外置存储(4.4以下为sd卡,4.4以上为机身外置存储)

获取方式:getExternalStorageDirectory()

sample:/storage/emulated/0

  1. 外置sd卡(4.4以上)

获取方式:getExternalFilesDirs()

sample:/storage/sdcardName

参考:

https://blog.csdn.net/csdn_aiyang/article/details/80665185

你可能感兴趣的:(android)