Android中怎么实现打开文件时弹出一个打开方式可供选择的框。

Android中怎么实现打开文件时弹出一个打开方式可供选择的框。就像在文件夹里面打开一样,让你选择用那个软件进行打开... Android中怎么实现打开文件时弹出一个打开方式可供选择的框。就像在文件夹里面打开一样,让你选择用那个软件进行打开 展开
 我来答
幻想流逝
2015-11-02 · TA获得超过1743个赞
知道大有可为答主
回答量:642
采纳率:75%
帮助的人:556万
展开全部

这个是隐私Intent调用,没有指定明确的Activity,而是设置了条件,只要符合都可以响应。

像你说的这种是根据文件类型做条件来判断,可以通过Intent的setDataAndType方法实现。

这个Type是指MIME Type,网上有文件名后缀与MIME类型的对照表,可以参考。


提供一个打开内存储根目录下1.txt文件的样例代码,仅供参考(前提是没给txt文件设置默认的打开应用)

Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(Environment.getExternalStorageDirectory()+"/1.txt"), "text/plain");
startActivity(intent);
更多追问追答
追问
我在网上搜到一个选择打开方式的代码,但是点击文件弹出的打开方式是所有类型的打开方式,我想要某一类的打开方式,比如我点一个mp3的格式,只弹出酷狗,天天动听等能打开这类文件的软件,而不是所有软件都会弹出来。 能写的比较具体点吗?
追答

mp3对应的MIME type是audio/mpeg

你只要把setDataAndType里的Uri和MIME type改下就行了啊


附上MIME type表(其实你真的只要在网上一查就有的)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式