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

Android分享图片和视频失败,怎么办?

android10获取相册失败的解决方式

微信分享等配置,微信授权失败讲解

微信分享提示signature错误

微信小程序授权获取手机号时,提示获取手机号失败,该appId没有权限