2011-04-11 60 views
4

我一直在一個問題上忍受了好幾天。 目前我在Android2.2的「設置」源代碼中運行。android共享用戶ID和讀取/寫入文件

在AdroidMenifest.xml,我們可以看到:

android:sharedUserId="android.uid.system" 

有了這個,很多權限的用戶可以在設置中的活動進行訪問。 但隨着這份聲明中,SD卡不能進行讀/寫訪問的,我試圖在目錄中讀取文件

File f = new File("/mnt/sdcard/"+filename); 

File f = new File("/sdcard/"+filename); 

但他們都沒有工作,我得到一個異常告訴我該文件不存在(我已經把文件放在那裏)。

如果我刪除android:sharedUserId="android.uid.system",那麼我可以成功訪問文件。但是,我需要android:sharedUserId="android.uid.system" 使其他活動運行良好。

有沒有人碰巧遇到同樣的問題,你解決了嗎?謝謝!

回答

9

系統用戶無法訪問SD卡,因爲如果SD卡被卸載,它可能需要殺死所有打開文件的進程,我們不希望系統進程被殺死。如果你想訪問SD卡,你不需要使用系統共享用戶ID。

+0

謝謝我會嘗試另一種方式。 – 2011-04-11 20:22:35

+0

@james dietrig如何解決它。你能發佈你的解決方案嗎?謝謝! – Judy 2011-07-14 04:28:17