По-прежнему в разрешении отказано после добавления WRITE_EXTERNAL_STORAGE в AndroidManifest.xml


решение: тестовый целевой проект также должен добавить WRITE_EXTERNAL_STORAGE в AndroidManifest.xml

этот вопрос возник из тестового проекта Android, который не может записать результат теста на SD-карту. Добавление WRITE_EXTERNAL_STORAGE в тестовый целевой проект может решить эту проблему.


Всегда отказываться от разрешения, когда я использую приведенный ниже код для записи XML-файла в SD-карту эмулятора. Я добавил WRITE_EXTERNAL_STORAGE" в AndroidManifest.xml.

        @Override
public void onStart(){

    try {
        File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        myWriter = new FileWriter(new File(root, TEST_RESULT+".xml"));          
        startResultOutput(myWriter);
    } catch (IOException e) {
        Log.d("TestInfo", "after new FileWriter: "+e.getMessage());
    }
    super.onStart();

}

поймал IOExcetion, сообщение было: после нового FileWriter: /mnt/sdcard/InterFace_test_result.xml (Отказано в доступе)

Ниже приведен код манифеста

<application android:icon="@drawable/icon" android:label="@string/app_name">

<uses-library android:name="android.test.runner" />
</application>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

SD card was mounted, because I can use another application to write file into external sd card.

Может ли кто-нибудь дать мне какое-нибудь предложение?

PS: система эмулятора 2.3.3


person Millie    schedule 24.12.2011    source источник
comment
Вы установили карту памяти SD в параметрах эмулятора? в интерфейсе, где вы можете его создать, есть опция для этого   -  person Erhard Dinhobl    schedule 24.12.2011
comment
да ~ я могу использовать другое приложение для записи файла на SD-карту моего эмулятора, и из оболочки adb я также могу управлять SD-картой.   -  person Millie    schedule 24.12.2011
comment
У меня та же проблема. ты решил это? см. мой пост: stackoverflow.com/questions/10877740/< /а>   -  person gladman    schedule 04.06.2012
comment
Для эмулятора убедитесь, что размер SDCard составляет не менее 512 МБ.   -  person hB0    schedule 07.11.2013


Ответы (2)


Проблема:

Насколько я понимаю, вы добавляете permission два раза.

  1. один раз в теге Application в качестве атрибута
  2. и второй раз, используя <use-permission>

Решение:

Попробуйте удалить любой из них.

person Adil Soomro    schedule 24.12.2011
comment
Спасибо за помощь, но все равно не работает. Я удалил одну персию из тега приложения... - person Millie; 24.12.2011

Вы должны добавить тег разрешения <uses-permission> перед тегом <application>.

person Wei Yang    schedule 12.07.2012