2009-11-27 3 views
4

Я написал приложение для Android. Эти права я просил:Разрешение «SD-карта» появляется на устройствах 2.0?

  • ИНТЕРНЕТ
  • ДОСТУПА КРУПНООБЛОМОЧНЫХ МЕСТАМ
  • ACCESS-ОПТИМ-МЕСТАМ
  • ДОСТУПА СЕТЬ-STATE
  • CHANGE-СЕТЬ-STATE

На 1,5 устройствах все выглядит нормально. Я попробовал на 2.0 устройства, а также показывает дополнительное разрешение при установке приложения:

  • SD CARD READ/WRITE

Это просто придумывают по умолчанию теперь любой 2.0 устройства мы устанавливаем приложения? Я использую Context.openFileOutput() для записи файла на диск, но только в папку с песочницей приложений, а не на SD-карту.

Благодаря

ответ

4

Из API docs, приложения ориентации пончика или выше:

... должен явно запросить WRITE_EXTERNAL_STORAGE разрешения иметь возможность изменять содержимое SD-карту. (Приложения таргетинга ранее версии всегда будет запрашивать разрешение .)

Таким образом, если вы строите 1.5 приложение, вы автоматически получаете WRITE_EXTERNAL_STORAGE.

+0

Итак, мне нужно записать на диск, но только очень маленький файл, и для этого я пишу только в песочнице приложения (а не на SD-карте). Это приложение 1.5. Поэтому, если я хочу избавиться от этого запроса на разрешение, я должен создать еще одну сборку специально для 2.0? Тогда он больше не должен появляться, не так ли? Спасибо – Mark

+0

Насколько я понимаю, да. – CommonsWare

0

Я думаю, что чтение из SDcard всегда разрешен, но для записи требуется разрешение WRITE_EXTERNAL_STORAGE, может быть, «SD CARD READ/WRITE» это просто еще один перевод, что на устройстве, так как он более читаемым человеком ,