美文网首页
Android 微信,qq分享文件

Android 微信,qq分享文件

作者: Condor_c33a | 来源:发表于2020-07-15 09:42 被阅读0次

    10M以下,建议进制算法为*1000以避免1024发生分享错误

    将文件变成二进制数组,然后塞进去就OK了,我这边是直接传入的base64码省略了部分步骤

    qq分享类似,不过是用intent来的
    只能分享本地文件,我这边是js传的,可以将文件存到本地然后分享
    File shareFileDir = StorageUtils.getExternalFileDirectory(activity.getApplicationContext(), StaticFinalUtil.SHARE_MEDIA);

                            File shareFile = new File(shareFileDir, shareMediaNew.title.concat(".").concat(shareMediaNew.fileType));

                            if (shareFile.exists()) {

                                Intent qqIntent = new Intent(Intent.ACTION_SEND);

                                Uri shareFileUri;

                                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {

                                    //兼容7.0

                                    shareFileUri = FileProvider.getUriForFile(activity.getApplicationContext(), "com.DaTong.InsuranceForAndroid.fileprovider", shareFile);

                                    //添加权限 这一句表示对目标应用临时授权该Uri所代表的文件

                                    qqIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

                                    qqIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

                                }else {

                                    shareFileUri = Uri.fromFile(shareFile);

                                }

                                qqIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                                qqIntent.setType(getMimeType(shareFile.getPath()));

                                qqIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");

                                qqIntent.putExtra(Intent.EXTRA_STREAM, shareFileUri);

                                activity.startActivity(qqIntent);

                                return;

                            }

    相关文章

      网友评论

          本文标题:Android 微信,qq分享文件

          本文链接:https://www.haomeiwen.com/subject/xnufhktx.html