2009-11-27 74 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卡读/写”只是另一个翻译在设备上,因为它更多的人可读。