怎样不让微信和 QQ 响应图片的 ACTION_VIEW 的 intent

2017-04-18 18:04:41 +08:00
 rockyou12

做了一个类似云盘的应用,预览文件时会先缓存到外部存储并通过 FileProvider 把content://类型的 uri 通过 intent 发送出去

            String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(mResDto.getResSuffix());
            //打开对应的浏览文件
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setDataAndType(uri, mimeType);
            if (!IntentUtil.isIntentAvailable(mActivity, intent)) {
                snack(binding.getRoot(), "系统中没有能打开此文件应用", Snackbar.LENGTH_LONG);
            } else {
                //给予能打开文件的应用临时权限
                List<ResolveInfo> resolveInfo = IntentUtil.getIntentResolveInfo(mActivity, intent);
                for (ResolveInfo info : resolveInfo) {
                    grantUriPermission(info.activityInfo.packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
                }
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                startActivity(intent);
            }

什么 doc , ppt 都没得问题,但图片会被 qq 和微信响应,点进去又说文件访问不到,这到底是我的问题还是 qq 和微信的问题?有没有办法把这两个踢出去?(´・_・`)

9250 次点击
所在节点    Android
5 条回复
29995270
2017-04-19 10:33:23 +08:00
List<ResolveInfo> 里把包名带 tencent 的去掉行不?
rockyou12
2017-04-19 11:34:49 +08:00
@29995270 这里只是在授权,但这个思路可以考虑下,谢谢
nn574204775
2017-04-19 17:23:28 +08:00
QQ 的问题
只能自己做个和系统的差不多的 UI (
nn574204775
2017-04-19 17:26:08 +08:00
← 几天之前刚做了((
rockyou12
2017-04-19 22:30:39 +08:00
@nn574204775 我又研究了下其他的文件浏览 app ,还想也都没管这个,还是正大光明的无视这个问题好了
(。•ˇ‸ˇ•。)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX