2012-05-05 20 views
8

Vorrei avviare un intentchooser che può restituire qualsiasi tipo di file. Il seguente codice funziona con i soliti esploratori di file (ES, Astro, ecc.) Ma non con l'esploratore di file My Samsung integrato.Samsung My Files explorer: Scegli file Intent

Intent selectFile = new Intent(Intent.ACTION_GET_CONTENT); 
selectFile.setType("file/*"); 
startActivityForResult(Intent.createChooser(selectFile, "Select File"), SELECT_FILE); 

Qualcuno sa come gestire questo samsung explorer? Ho provato a usare Intento selectFile = new Intent ("com.sec.android.app.myfiles.PICK_DATA") ma non sembra funzionare.

Qualche idea? Grazie.

Aggiornamento: Ho usato questo codice

Intent selectFile = new Intent(); 
selectFile.setAction("com.sec.android.app.myfiles.PICK_DATA"); 
startActivityForResult(selectFile, SELECT_FILE); 

ma ottengo questo errore: FORWARD_RESULT_FLAG utilizzato, mentre anche richiesta di un risultato. Qualcuno sa cosa significa?

+0

Non sono a conoscenza del fatto che 'file /' sia un prefisso di tipo MIME valido, per * qualsiasi * tipo MIME. Si prega di considerare '*/*'. – CommonsWare

+0

Se lo cambio in '*/*' Posso anche vedere Contatti, Musica, ecc. Ma voglio mostrare solo gli esploratori di file. Ma ancora, con '*/*' non puoi vedere l'intento di My Files. Devo selezionare manualmente i miei file in qualche modo. – MScott

+0

"Voglio mostrare solo i file explorer" - è bello, ma non conterei su tutti gli "esploratori di file" che supportano 'file/*'. Probabilmente ce ne sono centinaia, compreso Samsung. Ti suggerisco di risolvere il problema in un altro modo. – CommonsWare

risposta

1
Intent samsungIntent = new Intent(); 
samsungIntent.setAction("com.sec.android.app.myfiles.PICK_DATA"); 
samsungIntent.putExtra("CONTENT_TYPE", "*/*"); 

Cambiare da setType al putExtra fa il trucco.