私は File.java クラスを使用しています。そのメソッドのほとんどは、SecurityException をスローできます。しかし、それがスローされるケースに関する情報は見つかりません。
私はAndroidのソースを調べて、次のことを見つけました:さまざまなファイルメソッドがそのような呼び出しを実行します
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 がスローされるかがわかりません (マニフェスト アクセス許可で宣言されていない些細な状況を除く)。アプリが「ルート」や「日付」などの保護されたディレクトリにアクセスしようとしたときにもスローされたと思います。しかし、他にいつですか?