2016-03-18 14 views
5

Sto provando a creare una directory sul mio emulatore Android ma non riesco a farlo, ho già il permesso su manifest write_storage, e ottengo non erros ma mkdir() restituiscono falso, verifico se di archiviazione esterna è writtable troppo ed è, funziona su dispositivi fisici mio codice:Impossibile creare una directory su/storage/emulated/0 su emulator

/// Cria uma nova pasta para colocar o backup 
    File direct = new File(Environment.getExternalStorageDirectory(), 
      "/Financas RW Backup"); 
    try { 


     if (!direct.exists()) { 
      if(isExternalStorageWritable()&&isExternalStorageReadable()) { 
       if( direct.mkdir()) { 
        fachada.showMessage(ExportImportDB.this," Criado"); 
       }else{ 
        fachada.showMessage(ExportImportDB.this," Não Criado"); 
       } 
      } 
     } 
    } catch (Exception e) { 
     fachada.showMessage(this, e.toString()); 
    } 
+0

use mkdirs(); creerà cartelle madri se non ci sono; ma mkdir non creerà e quindi restituirà il falso – DJphy

+0

Lo provo, non funziona –

+0

ok, fallo; Environment.getExternalStorageDirectory(). GetAbsolutePath(), + "ur custom"; – DJphy

risposta

4

dovete opzioni:

  • downgrade compileSdkVersion e targetSdkVersion per abbassare la versione nel build.gradle
  • Il permesso di scrittura richiesta in fase di esecuzione è richiesto su Android 6 .

Io personalmente non consiglio il primo. Per maggiori informazioni di controllo:

Spero che questo aiuti !!

+0

Il problema è la versione di Android, e ho provato con una versione più bassa e funziona! –

+0

Lavori di autorizzazione della richiesta; dovremmo ricevere un avvertimento in console su questo. –

0

Ho avuto un problema simile è stato risolto utilizzando mkdir invece di mkdir

Problemi correlati