2011-12-24 17 views
7

soluzione: progetto di destinazione test deve anche aggiungere WRITE_EXTERNAL_STORAGE in AndroidManifest.xmlAncora negato il permesso dopo add "WRITE_EXTERNAL_STORAGE" in AndroidManifest.xml

questa domanda è venuto da un progetto di test Android, che non si può scrivere di prova risultato in SDcard. Aggiungi WRITE_EXTERNAL_STORAGE al progetto di destinazione del test per risolvere questo problema.


Invia sempre il permesso negato quando utilizzo il codice riportato di seguito per scrivere il file xml nella sdcard dell'emulatore. . Ho aggiunto WRITE_EXTERNAL_STORAGE" in 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(); 

} 

catched IOExcetion, il messaggio era: dopo il nuovo FileWriter: /mnt/sdcard/InterFace_test_result.xml (Autorizzazione negata)

Di seguito si riporta il manifesto codice

<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> 

La scheda SD è stata montata, perché posso usare un'altra applicazione per scrivere file su una scheda SD esterna.

Qualcuno può darmi qualche suggerimento?

PS: il sistema emulatore è 2.3.3

+1

hai impostato una scheda di memoria SD nei parametri degli emulatori? nell'interfaccia in cui è possibile crearla c'è un'opzione per quello –

+0

sì ~ Posso usare un'altra applicazione per scrivere file nella scheda sd del mio emittente, e dalla shell adb, posso anche usare la scheda sd. – Millie

+0

Ho avuto lo stesso problema. hai risolto questo? vedi il mio post: http://stackoverflow.com/questions/10877740/traceview-cant-write-sd-card – gladman

risposta

1

problema:

Quello che posso capire è, Si sta aggiungendo permission due volte

  1. una volta in Application tag come attributo
  2. e la seconda volta con <use-permission>

Soluzione:

Prova a rimuovere uno qualsiasi di essi.

+0

Grazie per il vostro aiuto, ma ancora non può funzionare. Ho rimosso una persistenza dal tag dell'applicazione ... – Millie

0

È necessario aggiungere il tag di autorizzazione <uses-permission> prima del tag <application>.

+1

Non necessario .. – Nikhil

Problemi correlati