有没有办法将东西存放在设备的辅助存储器中?它没有被删除卸载Android中的应用程序?我做了很多研究和研究。无法找到任何信息,我不想使用数据/数据//因为如果我卸载应用程序,数据将会丢失。如果不能这样做,为什么?因为根据我的直觉,平板电脑的辅助存储器应该像SD卡一样。
答案 0 :(得分:0)
如果您在应用程序存储区之外和外部存储目录中创建一个文件夹,它应该保留。请参阅:http://developer.android.com/reference/android/os/Environment.html
具体而言' getExternalStorageDirectory()'
来自Android文档
public static File getExternalStorageDirectory()
在API级别1中添加返回主外部存储目录。 如果已安装此目录,则该目录当前可能无法访问 由用户在他们的计算机上,已从设备中删除,或 还发生了一些其他问题。您可以确定其当前状态 使用getExternalStorageState()。
注意:不要被"外部"这个词弄糊涂。这里。这个目录 可以更好地被视为媒体/共享存储。它是一个文件系统 可以容纳相对大量的数据,并且可以共享 所有应用程序(不强制执行权限)。传统上这是 SD卡,但它也可以作为内置存储器实现 与受保护的内部存储区别的设备,可以是 作为文件系统安装在计算机上。
在具有多个用户的设备上(如UserManager所述) 用户拥有自己独立的外部存储空间。应用程序只有 为他们正在运行的用户访问外部存储空间。
在具有多个"外部"的设备中存储目录,这个 directory代表" primary"用户将使用的外部存储 与。。。相互作用。可通过
访问二级存储应用程序不应直接使用此顶级目录 以避免污染用户的根命名空间。任何文件 私有应用程序应放在由返回的目录中 Context.getExternalFilesDir,系统将负责处理 删除应用程序是否已卸载。其他共享文件应该 被放置在其中一个目录中 getExternalStoragePublicDirectory(字符串)。
写入此路径需要WRITE_EXTERNAL_STORAGE权限, 并且从读访问开始需要READ_EXTERNAL_STORAGE 权限,如果您持有写入,则自动授予 权限。
从KITKAT开始,如果您的应用程序只需要存储内部 数据,考虑使用getExternalFilesDir(String)或 getExternalCacheDir(),它不需要读取或写入权限。
此路径可能会在平台版本之间发生变化,因此应用程序应该 只坚持相对路径。