Android sdcard文件权限

时间:2012-02-06 06:20:18

标签: android

我们可以设置SD卡上的文件的权限,以便因为那个许可用户将无法打开,读取或写入SD卡的文件...我的意思是,如何使安全性用户将无法在申请表sd-card旁边打开该文件。  我们可以阻止用户访问应用程序表单sdcard之外的应用程序文件吗?

2 个答案:

答案 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);