Получить адрес из проводника Android

#java #android #storage

#java #Android #Хранение

Вопрос:

Я создаю программу, которая просит пользователя найти файл, который может быть сохранен на sdcard или внутренней карте телефона. Я знаю, что для того, чтобы открыть проводник файлов по умолчанию в телефоне, я должен использовать этот код:

  Intent intent = new Intent();
 intent.setAction(Intent.ACTION_GET_CONTENT);
 intent.setType("file/*");
 startActivity(intent);
  

Однако моя проблема связана со связью с проводником файлов, как я могу получить адрес файла, выбранного пользователем.

Ответ №1:

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

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (resultCode == RESULT_OK) {
    switch (requestCode) {
    case YOUR_REQUEST_CODE:
      //get the uri from data's extras
      break;
    }
     //do whatever you want with uri
  } else {
    Toast.makeText(this, "Wrong result", Toast.LENGTH_SHORT).show();
  }
}
  

Комментарии:

1. Я понимаю идею. Но где мне перехватить строку (в данном случае), полученную в результате открытия системного проводника. Поскольку параметр, называемый YOUR_RESULT_CODE , является целым числом, если бы это была функция, я бы понял.

2. Спасибо, это было действительно полезно!!