Загрузить файлы с телефона намерения
У меня есть приложение для 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){
}
}