Android 关于mimeType的使用

最近有个需求,需要在app中显示ppt,第一反应就是从文件管理中选择ppt,然后用第三方控件显示,结果ios开发人员跟我说在ios上可以直接选择打开方式,比如微信接收到一个ppt,然后选择打开,会弹出一个列表,可以选择自己的app打开。当时我就觉得很好奇了,然后我也试验了下,发现除了offic软件,百度网盘也在列表中,那么说明是可以设置的。果不其然,在网上一番搜索后,找到

<intent-filter tools:ignore="AppLinkUrlError">
     <action android:name="android.intent.action.VIEW"/>
     <category android:name="android.intent.category.DEFAULT"/>
     <data android:mimeType="*/*"/>
</intent-filter>

补充:
如果需要设置多个类型,又不想设置成全类型,只需要多写几个mineType就可以了,比如我项目中只允许ppt、pptx、pdf类型的文件,只需要如下设置即可

<intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="application/pdf"/>
                <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation"/>
                <data android:mimeType="application/vnd.ms-powerpoint"/>
            </intent-filter>

再补充个从APP中去选择本地文件的方法,同样是允许三个类型的文件

  Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
  intent .setType("*/*");
  String[] mimeTypes = {"application/vnd.ms-powerpoint", "application/pdf","application/vnd.openxmlformats-officedocument.presentationml.presentation"};
  intent .putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
  intent.addCategory(Intent.CATEGORY_OPENABLE);
  startActivityForResult(intent, INTENT_FILE);

但是我有个问题,要是有知道的

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟嘟嘟~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值