2013-01-17 49 views
1

我使用File.java類。 它的大部分方法都可以拋出SecurityException。但是我沒有找到任何有關案件的信息。在哪些情況下在Android上拋出文件操作SecurityException?

我期待在Android的來源,找到以下內容: 不同的文件方式進行催繳

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

或者checkWrite()/ checkDelete() 在這一切的情況下,安全管理器創建的FilePermission對象,並驗證它的語境。的checkPermission()

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

其實從這個代碼,我不弄清楚噹噹前語境一些文件操作將拒絕並拋出:SecurityException將拋出(除瑣碎situa沒有在清單權限中聲明)。 我想它也會在應用程序嘗試訪問受保護的目錄(如「root」或「date」)時拋出。但是,還有什麼?

回答

1

SecurityExceptions適用於您嘗試執行某些應用程序無權執行的操作。即在您的清單中未列出WRITE_EXTERNAL權限的情況下寫入SD卡。

據我所知在manifest中缺少權限是導致SecurityException異常的唯一方法。但值得注意的是,無論何時您處理文件I/O,還有其他異常的可能性,如IOException。

+0

IOException - 是老的和熟知的敵人))...與SecurityException相反。 –

+0

僅當您的應用缺乏清單中的權限時纔會拋出SecurityException,我相信。 – FoamyGuy

相關問題