2012-05-05 31 views
8

Chciałbym rozpocząć intentchooser, który może zwrócić dowolny rodzaj pliku. Poniższy kod działa ze zwykłymi eksploratorami plików (ES, Astro itp.), Ale nie z wbudowanym eksploratorem My Files MySQL.Eksplorator Samsung My Files: Wybierz plik Zamiar

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

Czy ktoś wie, jak obsługiwać tego eksploratora Samsung? Próbowałem użyć Intent selectFile = new Intent ("com.sec.android.app.myfiles.PICK_DATA"), ale wydaje się, że nie działa.

Wszelkie pomysły? Dzięki.

Aktualizacja: Kiedyś ten kod

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

ale otrzymuję ten błąd: FORWARD_RESULT_FLAG stosowany jednocześnie z prośbą o wynik. Ktoś wie, co to znaczy?

+0

Nie jestem świadomy, że 'file /' jest poprawnym przedrostkiem typu MIME, dla * dowolnego * typu MIME. Proszę rozważyć '*/*'. – CommonsWare

+0

Jeśli zmienię go na '*/*', mogę również zobaczyć kontakty, muzykę itp., Ale chcę pokazać tylko eksploratory plików. Ale nadal, z '*/*' nie widać intencji My Files. Muszę ręcznie wybrać moje intencje plików. – MScott

+0

"Chcę pokazać tylko odkrywców plików" - to miłe, ale nie liczę na wszystkich "eksploratorów plików" obsługujących 'plik/*'. Są prawdopodobnie setki, które nie, w tym Samsung. Proponuję, abyś rozwiązał problem w inny sposób. – CommonsWare

Odpowiedz

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

Zmiana z setType na putExtra rozwiązuje problem.