Загрузить файлы с телефона намерения

У меня есть приложение для Android, в котором пользователь выбирает изображение из памяти телефона, чтобы загрузить его на сервер с помощью намерения Action Pick.

Intent i = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(i, RESULT_LOAD_IMAGE);

Тем не мение; Теперь требования изменились, и клиент хочет загрузить любой файл с любым расширением, какое намерение мне следует использовать, чтобы открыть память телефона (например, файловый менеджер) и выбрать все, что я хочу?

Теперь я использую намерение Получить контент, спасибо вам, ребята:

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

но проблема в стартовой деятельности для результата

 @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == 1) {
            Log.d("select pivture", "passed her");
            Uri selectedMediaUri = data.getData();

            String Fpath = selectedMediaUri.getPath();

            Log.d("Fpath", Fpath);
}

Я получаю следующее:

/document/primary:Download/tool208.pdf

Что не то, что я хочу, я хочу путь, как этот:

/external/images/media/6634

1 ответ

Решение

Используйте метод ниже:

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

ОБНОВИТЬ

   @Override  
   protected void onActivityResult(int requestCode, int resultCode, Intent data)  
   {  
          super.onActivityResult(requestCode, resultCode, data);  
         if(requestCode==PICKFILE_REQUEST_CODE){  
         }  
 }  
Другие вопросы по тегам