对于较旧的*.doc文档,这已足够:
header("Content-Type: application/msword");
Run Code Online (Sandbox Code Playgroud)
我应该将哪些mime类型用于新的docx文档?还适用于pptx和xlsx文件?
我知道Android无法原生处理PDF.但是,Nexus One(可能还有其他手机)预先安装了QuickOffice Viewer.如何确定用户是否安装了PDF查看器?
目前,启动PDF下载的代码看起来非常简单:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
下载后,用户单击下载的文件以调用查看器.但是,如果没有PDF查看器,Android会报告"无法下载.手机不支持该内容".我想确定用户是否会收到此消息,如果是,请将其指向Android电子市场中的PDF应用.
我将选定的文件上传到服务器,但我知道我想restrick用户只选择文档文件(.doc,.pdf等)和图像文件.
现在我的代码适用于所有文件,它提取uri的所有文件,所以请告诉我如何限制用户只选择特定类型的文件.
这是我选择任何文件的代码.
Intent i=new Intent();
i.setType("*/*");
i.setAction(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(i, "abc"),requestCode);
Run Code Online (Sandbox Code Playgroud) 我想使用Intent.ACTION_GET_CONTENT. 但是intent.setType有多个选项不起作用(在 android 5.1.1 设备中尝试过这个,甚至 pdf 文件都是灰色的,无法选择)。
intent.setType("application/msword|text/plain|application/pdf");
Run Code Online (Sandbox Code Playgroud)
是否可以仅使用 intent.setType() 来获取所有三种文件类型?
甚至用 Intent.EXTRA_MIME_TYPES 尝试过这个。
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
Run Code Online (Sandbox Code Playgroud)
即使EXTRA_MIME_TYPES工作并允许选择PDF,word文件并且不允许选择其他类型,它在菜单中列出了“图库”选项并允许从那里选择图像/视频(我无法从内部存储中选择图像)。那么如何禁用此画廊选项(仅使用时不显示画廊选项intent.setType())?