2015-09-28 9 views
1

Я пытаюсь выбрать файл через намерение. Что я судимый до сих пор это:Android Select File Intent

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("*/*"); 
startActivityForResult(intent, FILE_SELECT_CODE); 

Но с этим, я могу только ПОС Фотография с приложением Galery.

Моя цель - загрузить файл ANY через стандартный файловый менеджер Android/Samsung.

Это не сработало:

String manufactures = android.os.Build.MANUFACTURER; 
if(manufactures.equalsIgnoreCase("samsung")) 
{ 
    Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); 
    intent.putExtra("CONTENT_TYPE", "*/*"); 
    startActivityForResult(intent, FILE_SELECT_CODE); 
} 

Thx за вашу помощь!

ответ

4

Моя цель - загрузить файл ANY через стандартный файловый менеджер Android/Samsung.

У Android нет «стандартного файлового менеджера».

Если ваш minSdkVersion является 19 или выше, вы можете использовать the Storage Access Framework (например, ACTION_OPEN_DOCUMENT), которая ближе всего, что Android теперь должен «стандартного файлового менеджера».

В противном случае вы ограничены любым ACTION_GET_CONTENT -поддержкой приложений, которые пользователь установил, или созданием собственного пользовательского интерфейса для выбора файлов, либо с использованием одного из many existing libraries for selecting files.

+0

Thx для вашего ответа. То, что только что пробовали, есть: Цель намерения = новое намерение (Intent.ACTION_OPEN_DOCUMENT); intent.addCategory (Intent.CATEGORY_OPENABLE); intent.setType ("*/*"); startActivityForResult (намерение, FILE_SELECT_CODE); , но тогда приложение вылетает ... –

+0

@ Pixel_95: Используйте LogCat для проверки трассировки стека Java, связанной с вашей катастрофой: http://stackoverflow.com/questions/23353173/unappro-myapp-has-stopped-how-can -i-solve-this Если вы не понимаете, что видите, отправьте отдельный вопрос о переполнении стека, в котором вы предоставите свой текущий код вместе с этой трассировкой стека. – CommonsWare

+0

это говорит: «java.lang.IllegalStateException: Не удалось выполнить метод действия» в последней строке кода, я только что опубликовал –