Anonymous
Как программно получить путь к выбранному PDF/документу из файлового менеджера в Android
Сообщение
Anonymous » 29 июн 2024, 08:02
Я написал этот код, чтобы открыть Диспетчер документов и выбрать любой файл PDF/Doc.
Код: Выделить всё
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
Intent i = Intent.createChooser(intent, "File");
startActivityForResult(i, 1);
Когда я выбираю любой файл Pdf/Doc, я не могу получить путь к этому выбранному файлу.
Я тоже пробовал этот код, но на выходе он дал ноль
Код: Выделить всё
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Uri uri = intent.getData();
String fileImagePath = getRealPathFromURI(uri);
String type = intent.getType();
Log.d("Hello", fileImagePath + "");
if (uri != null) {
String path = uri.toString();
if (path.toLowerCase().startsWith("file://")) {
// Selected file/directory path is below
path = (new File(URI.create(path))).getAbsolutePath();
Log.d("Hel", path);
}
}
} else
Log.d("Hello", "Back from pick with cancel status");
}
}
public String getRealPathFromURI(Uri uri) {
String[] projection = { MediaStore.Files.FileColumns.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA );
cursor.moveToFirst();
return cursor.getString(column_index);
}
Пожалуйста, помогите мне, заранее спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/293 ... rogrammati
1719637330
Anonymous
[b]Я написал этот код, чтобы открыть Диспетчер документов и выбрать любой файл PDF/Doc.[/b] [code]Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); startActivityForResult(i, 1); [/code] [b]Когда я выбираю любой файл Pdf/Doc, я не могу получить путь к этому выбранному файлу.[/b] [b]Я тоже пробовал этот код, но на выходе он дал ноль[/b] [code]protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 1) { if (resultCode == RESULT_OK) { Uri uri = intent.getData(); String fileImagePath = getRealPathFromURI(uri); String type = intent.getType(); Log.d("Hello", fileImagePath + ""); if (uri != null) { String path = uri.toString(); if (path.toLowerCase().startsWith("file://")) { // Selected file/directory path is below path = (new File(URI.create(path))).getAbsolutePath(); Log.d("Hel", path); } } } else Log.d("Hello", "Back from pick with cancel status"); } } public String getRealPathFromURI(Uri uri) { String[] projection = { MediaStore.Files.FileColumns.DATA }; Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor .getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA ); cursor.moveToFirst(); return cursor.getString(column_index); } [/code] Пожалуйста, помогите мне, заранее спасибо. Подробнее здесь: [url]https://stackoverflow.com/questions/29327318/how-to-get-the-path-of-selected-pdf-doc-from-file-manager-in-android-programmati[/url]