Как получить расширение файла, выбранного с помощью Intent.ACTION_OPEN_DOCUMENT? ⇐ Android
-
Anonymous
Как получить расширение файла, выбранного с помощью Intent.ACTION_OPEN_DOCUMENT?
Я хочу получить расширение файла, который я выбрал с помощью Intent.ACTION_OPEN_DOCUMENT. Как это получить?
Вот как я запускаю сборщик:
private void startFilePicker(){ Намерение намерение = новое намерение (Intent.ACTION_OPEN_DOCUMENT); Intent.addCategory(Intent.CATEGORY_OPENABLE); Intent.setType("*/*"); Intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); startActivityForResult (намерение, CODE_ACTION_OPEN_DOCUMENT_FILE); } Это обратный вызов при выборе файла:
@Override protected void onActivityResult (int requestCode, int resultCode, данные намерения) { super.onActivityResult(requestCode, resultCode, data); //регион Новый выбор если (requestCode == CODE_ACTION_OPEN_DOCUMENT_FILE){ если (resultCode == RESULT_OK){ если (данные!= ноль){ если (data.getData() != ноль){ Uri uri = data.getData(); //Здесь получите расширение файла. } } } } } Когда я пытаюсь получить путь к файлу с помощью uri.getPath(), я получаю что-то вроде image:105571 или acc=1;doc= 9204. Поэтому я не могу получить его по пути.
Вопрос: как определить расширение выбранного файла?
Я хочу получить расширение файла, который я выбрал с помощью Intent.ACTION_OPEN_DOCUMENT. Как это получить?
Вот как я запускаю сборщик:
private void startFilePicker(){ Намерение намерение = новое намерение (Intent.ACTION_OPEN_DOCUMENT); Intent.addCategory(Intent.CATEGORY_OPENABLE); Intent.setType("*/*"); Intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); startActivityForResult (намерение, CODE_ACTION_OPEN_DOCUMENT_FILE); } Это обратный вызов при выборе файла:
@Override protected void onActivityResult (int requestCode, int resultCode, данные намерения) { super.onActivityResult(requestCode, resultCode, data); //регион Новый выбор если (requestCode == CODE_ACTION_OPEN_DOCUMENT_FILE){ если (resultCode == RESULT_OK){ если (данные!= ноль){ если (data.getData() != ноль){ Uri uri = data.getData(); //Здесь получите расширение файла. } } } } } Когда я пытаюсь получить путь к файлу с помощью uri.getPath(), я получаю что-то вроде image:105571 или acc=1;doc= 9204. Поэтому я не могу получить его по пути.
Вопрос: как определить расширение выбранного файла?
Мобильная версия