我编写此代码是为了打开文档管理器并选择任何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文件时,我无法获取所选文件的路径。
我也尝试了此代码,但输出给予null
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);
}
请帮我先谢了。
2条答案
按热度按时间ax6ht2ek1#
我做了这个...我希望我会帮助别人,你有两个选项来打开一些文件(pdf),如果你想使用ES你必须做的是解析你的ES路径
8hhllhi22#
请使用下面的代码为任何类型的文件: