做了一个类似云盘的应用,预览文件时会先缓存到外部存储并通过 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 和微信的问题?有没有办法把这两个踢出去?(´・_・`)
1
29995270 2017-04-19 10:33:23 +08:00 1
List<ResolveInfo> 里把包名带 tencent 的去掉行不?
|
3
nn574204775 2017-04-19 17:23:28 +08:00 via Android
QQ 的问题
只能自己做个和系统的差不多的 UI ( |
4
nn574204775 2017-04-19 17:26:08 +08:00 via Android 1
← 几天之前刚做了((
|
5
rockyou12 OP @nn574204775 我又研究了下其他的文件浏览 app ,还想也都没管这个,还是正大光明的无视这个问题好了
(。•ˇ‸ˇ•。) |