我的应用需要写入外部辅助存储.现在使用kitkat,除了应用程序特定文件外,我无法写入外部存储.kitkat中有一个名为Storage Access Framework的新框架.我可以使用此框架写入辅助外部存储,而不是在app specfic目录中,而是在其他目录中.
谢谢
Android的外部存储定义如下:http: //source.android.com/devices/tech/storage/index.html
有关写入辅助外部存储的详细信息:
WRITE_EXTERNAL_STORAGE权限只能授予对设备上主外部存储的写访问权限.不得允许应用程序写入辅助外部存储设备,但合成权限允许的特定于程序包的目录除外.以这种方式限制写入可确保系统在卸载应用程序时清理文件.
KitKat的有趣之处在于禁止写入辅助外部存储(例如SD存储卡),除了应用程序卸载期间删除的应用程序特定目录.
在KitKat上,即使拥有WRITE_EXTERNAL_STORAGE权限,应用也无法写入真实SD卡(=辅助外部存储器)上的任意位置.
Android还有另一个WRITE_MEDIA_STORAGE权限,允许写入这些位置,但是这个权限不会提供给第三方应用程序,只有一些内置应用程序会保留它,例如Camera app或内部文件管理器.
所有这些都是一团糟,应用程序可以向设备的内部大容量内存写入任何内容,并在卸载后留下任何垃圾,但是应用程序无法向真正的外部SD卡写入任何内容.许多用户认为这是Android在KitKat中引入的错误或错误,并等待更好的解决方案来保护下一个Android版本的存储(我知道这是因为我开发了一个由百万用户使用的文件管理器应用程序).