我们可以设置SD卡上的文件的权限,以便因为那个许可用户将无法打开,读取或写入SD卡的文件...我的意思是,如何使安全性用户将无法在申请表sd-card旁边打开该文件。 我们可以阻止用户访问应用程序表单sdcard之外的应用程序文件吗?
答案 0 :(得分:2)
是的,可以设置理解基本文件系统所需的文件权限 这将对您有所帮助Android使用Linux内核,因此使用它
Java,文件权限非常特定于操作系统:* nix,NTFS(windows)和FAT / FAT32,都有不同类型的文件权限。 Java附带了一些通用文件权限来处理它。
检查文件权限是否允许:
file.canExecute(); – return true, file is executable; false is not.
file.canWrite(); – return true, file is writable; false is not.
file.canRead(); – return true, file is readable; false is not.
设置文件权限:
file.setExecutable(boolean); – true, allow execute operations; false to disallow it.
file.setReadable(boolean); – true, allow read operations; false to disallow it.
file.setWritable(boolean); – true, allow write operations; false to disallow it.
在* nix系统中,您可能需要配置更多关于文件权限的指定,例如为文件或目录设置777权限,但是,Java IO类没有就绪方法,但您可以使用以下脏解决方法:
Runtime.getRuntime().exec("chmod 777 file");
答案 1 :(得分:1)
也许您可以按照用户https://stackoverflow.com/users/491978/mihir建议的方法进行操作。
我在我的代码中使用了这个:
if(image_url!= null&& image!= null){
Bitmap.CompressFormat image_format;
// get image type
if (image_url != null && image_url.endsWith("jpg")) {
image_format = Bitmap.CompressFormat.JPEG;
} else if (image_url != null && image_url.endsWith("png")) {
image_format = Bitmap.CompressFormat.PNG;
} else {
image_format = Bitmap.CompressFormat.JPEG;
}
File image_cache_file = new File(cache_directory,String.valueOf(image_url.hashCode()) + ".img");
try {
FileOutputStream fos = new FileOutputStream(image_cache_file);
image.compress(image_format, 100, fos);
fos.close();
Log.v(TAG, "Image writen to file with name: " + image_url);