作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
因为我可以打开“下载”文件夹,但 PDF 看起来已被禁用,所以我无法选择 PDF 文件。还有其他方法可以实现吗?
点击按钮的代码
case R.id.pdf_Upload:
Intent intent = new Intent();
intent.setType("pdf/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Pdf"), REQUESTCODE_PICK_Pdf);
break;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUESTCODE_PICK_Pdf:
if (requestCode == REQUESTCODE_PICK_Pdf && resultCode == RESULT_OK
&& null != data) {
Uri selectedPdf = data.getData();
PdfSelected.setVisibility(View.VISIBLE);
if (selectedPdf.getLastPathSegment().endsWith("pdf")) {
System.out.println("Uri of selected pdf---->" + selectedPdf.toString());
} else if (resultCode == RESULT_CANCELED){
Toast.makeText(this, "Invalid file type", Toast.LENGTH_SHORT).show();
}
}
}
权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
最佳答案
这条鳕鱼对我有用
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
startActivityForResult(intent, SAVE_REQUEST_CODE);
关于android - 如何允许用户仅从 android 的内部和外部存储器中选择 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30612329/
我是一名优秀的程序员,十分优秀!