【发布时间】:2017-07-24 10:56:23
【问题描述】:
以下代码显示了所有文件,但我选择了另一个返回错误的格式文件。
Intent selectionintent = new Intent(Intent.ACTION_GET_CONTENT);
selectionintent.setType("application/pdf");
selectionintent.addCategory(Intent.CATEGORY_OPENABLE);
PackageManager packageManager = getPackageManager();
List activitiesPDF = packageManager.queryIntentActivities(selectionintent,
PackageManager.MATCH_DEFAULT_ONLY);
boolean isIntentSafePDF = activitiesPDF.size() > 0;
if (isIntentSafePDF)
startActivityForResult(selectionintent, CODE_RESULT);
else
Toast.makeText(UpdateFileActivity.this, "Only select pdf files", Toast.LENGTH_SHORT).show();
onActivity 结果:
if (requestCode == CODE_RESULT && resultCode == RESULT_OK) {
Uri uri = data.getData();
String file = uri.toString();
File f = new File(file);
if (file.startsWith("content://")) {
Cursor cursor = null;
try {
cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
}
} finally {
cursor.close();
}
} else if (file.startsWith("file://")) {
displayName = f.getName();
}
filetext.setText(displayName);
}
我只想显示 pdf 文件
【问题讨论】:
-
akhilesh 代码在文件名包含 .pdf 时有效,文件没有扩展名则无法工作
标签: java android pdf android-intent