Android10 分享微信提示获取资源失败
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android10 分享微信提示获取资源失败相关的知识,希望对你有一定的参考价值。
在大于android7的版本下我们要如此设置
val fileUri = FileProvider.getUriForFile(
context, context.getPackageName().toString() + ".fileprovider",
file
)
但是。。随着版本迭代。android10来了
把Target升级到30以后。微信分享就报错了。
需要添加这句话
val fileUri = FileProvider.getUriForFile(
context, context.getPackageName().toString() + ".fileprovider",
file
)
context.grantUriPermission(
"com.tencent.mm", // 这里填微信包名
fileUri, Intent.FLAG_GRANT_READ_URI_PERMISSION
)
完整分享语句
public boolean shareStream(final File file, final String mimeType)
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(EXTRA_FILEPATH, file.getAbsolutePath());
intent.setType(mimeType);
try
Uri fileUri = FileProvider.getUriForFile(_context, getFileProviderAuthority(), file);
// 授权给微信访问路径
AGBase.mContext.grantUriPermission("com.tencent.mm", // 这里填微信包名
fileUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
showChooser(intent, null);
return true;
catch (Exception e) // FileUriExposed(API24) / IllegalArgument
return false;
public void showChooser(final Intent intent, final String chooserText)
try
_context.startActivity(Intent.createChooser(intent, chooserText != null ? chooserText : _chooserTitle));
catch (Exception ignored)
文本文件建议使用 text/plain
iamge 使用别的 image/png 等
以上是关于Android10 分享微信提示获取资源失败的主要内容,如果未能解决你的问题,请参考以下文章
Android开发中微信分享失败之checkArgs fail, thumbData should not be null or exceed 128kb