2009-11-27 70 views
4

我寫了一個Android應用程序。這些都是我所要求的權限:2.0設備上出現「SD卡」權限?

  • INTERNET
  • ACCESS-粗LOCATION
  • ACCESS-FINE-LOCATION
  • 接入網-STATE
  • CHANGE-NETWORK-STATE

在1.5設備上,它看起來很好。我嘗試了2.0設備上,它也顯示在安裝應用程序時,一個額外的權限:

  • SD卡讀取/寫入

是,僅僅來了默認情況下,現在我們安裝任何2.0的設備上應用程序?我使用Context.openFileOutput()將文件寫入磁盤,但僅限於應用程序沙箱位置,而不是SD卡。

感謝

回答

4

API docs,應用目標DONUT或更高:

...必須明確要求 WRITE_EXTERNAL_STORAGE權限 能夠修改 SD卡的內容。 (應用較早瞄準 版本將始終要求 許可。)

因此,如果你正在建設一個1.5的應用程序,你會自動獲得WRITE_EXTERNAL_STORAGE

+0

好吧,所以我確實需要寫入磁盤,但只有一個非常小的文件,因此我只寫入應用程序的沙箱(不是SD卡)。這是一個1.5應用程序。所以如果我想擺脫這個權限請求,我應該爲2.0創建另一個版本?那麼它不應該出現,對吧? 謝謝 – Mark 2009-11-27 23:56:59

+0

據我瞭解,是的。 – CommonsWare 2009-11-28 01:06:28

0

我覺得從SD卡讀取始終是允許的,但寫你需要WRITE_EXTERNAL_STORAGE許可,也許「SD卡讀/寫」只是另一個翻譯在設備上,因爲它更多的人可讀。