我使用 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/