android - 在哪些情况下,Android 上的文件操作会抛出 SecurityException?

标签 android file securityexception

我使用 File.java 类。 它的大多数方法都可以抛出 SecurityException。但是我没有找到有关它抛出的案例的任何信息。

我查看 android 源代码并找到以下内容: 不同的 File 方法执行这样的调用

 SecurityManager security = System.getSecurityManager();
    if (security != null) {
        security.e(path);
    }

或者 checkWrite()/checkDelete() 在所有这些情况下,SecurityManager 创建 FilePermission 对象并在 Context.checkPermission() 中验证它

public void checkRead(String file, Object context) {
    checkPermission(new FilePermission(file, "read"), context);
}

实际上,从这段代码中我不知道什么时候对于当前上下文某些文件操作将被拒绝并且将抛出 SecurityException(除非在 list 权限中未声明的微不足道的情况)。 我猜它也会在应用程序尝试访问 protected 目录(如“root”或“date”)时抛出。但还有什么时候呢?

最佳答案

SecurityExceptions 适用于您尝试执行您的应用无权执行的操作。即未经 list 中列出的 WRITE_EXTERNAL 许可就写入 SD 卡。

据我所知, list 中缺少权限是引发 SecurityException 的唯一方法。然而,可能值得注意的是,无论何时处理文件 i/o,也可能会出现其他异常,例如 IOException。

关于android - 在哪些情况下,Android 上的文件操作会抛出 SecurityException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381368/

相关文章:

java - 如何在 Android 中通过名称获取图像资源?

android - 保存文件的更改?

android-7.0-nougat - 无法在android 7中更改当前密码

silverlight-4.0 - Silverlight 无法与 HTTPS Web 服务对话?

android - 启动画面中的逐帧动画 - Android 2.1

android - 仅在网络中关闭套接字 v4.0 ksoap2

java - 设置 Imageview 的背景

php - 如何用ajax查看表单上传的文件?

eclipse - 在 plug-in.xml 中如何将文件扩展名与 eclipse 插件中的特定类型的编辑器相关联

actionscript-3 - 使用 URLLoader 时出现意外的 Flash 安全异常