做了一个类似云盘的应用,预览文件时会先缓存到外部存储并通过 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 和微信的问题?有没有办法把这两个踢出去?(´・_・`)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.