资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android微信分享,android微信分享返回false

Android集成微信分享功能采坑:分享不成功,一闪而过,无反应等情况

Android 微信分享遇到的问题:

创新互联建站是一家专业提供黔江企业网站建设,专注与网站设计制作、成都网站制作、HTML5建站、小程序制作等业务。10年已为黔江众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

1.APP_ID是否输入正确

2.官网申请时输入的签名和打包的签名是否一致(请用微信推荐的签名工具对比)

注:微信平台填写的签名是ce187ed67e05c2d8879bf66bbfdfc8b9

是apk的keystore的md5去掉冒号,大写换位小写字母形式

3.分享一闪而过

有可能的bug:签名错误,appid正确,但是申请的时候吧包名和签名写反了

微信缓存问题,重新安装微信多试几次

4.请用微信官方提供的签名获取工具

5.自己直接run到手机运行的apk包注意签名应该和申请时用的签名一致(即把debug的签名改为release的)

6.分享图片的缩略图太大,超过32k

7.换设备,重新尝试

8.保证所有配置没有问题的情况下,尝试重启手机即可……(我没有开玩笑)

android app怎样实现微信分享

使用微信SDK分享WXAppExtendObject数据给好友,好友点击跳转MyApp的某个页面(需要在分享时传递构造跳转Intent的参数)。

1.该类型的分享(具体请参考微信分享SDK)可以带几个参数,参数中必须附带一些构造跳转Intent的数据。

2.好友点击分享的内容,回调IWXAPIEventHandler接口的类的onReq方法,具体为

ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:这种情况才会调用,此时可以取出分享时附带在参数中的一些数据,构造一个跳转Intent,调用startActivity(intent) 来打开MyApp。

由于是项目实测,这种实现方式的截图也就不传了。

问题1:该分享方式只能分享给好友,不能分享到朋友圈。

问题2:如果好友没安装MyApp,点击微信中好友分享过来的消息后无反应,无法提醒“未安装MyApp,请下载”,因为这些逻辑要实现的话本身就是在MyApp里面写的,原本没装的话根本无法检测。

问题3:WXAppExtendObject类型的分享,数据有大小限制,

extInfo(String)限制2KB;

fileData(byte[])供第三方使用的文件二进制数据,最大10M;

filePath:(String)Local directory of the file provided for applications,本身长度最大10KB,文件大小同上,不超过10M。

解决Android11上分享图片失败,微信提示需要使用FileProvider

先看下微信分享错误的提示:

看到这个错误大家第一个可能会想到FileProvider我在AndroidManifest早已配置过了,但是配置了是你可以使用FileProvider存储了应用间共享文件,但是在并不代表你使用了FileProvider,然后了解问题我们就要先了解一个概念 分区存储

Android 10之前,外部存储区的内容主要以两种形式:

在Android 10 中,Google首次引入了 分区存储 ,将公共区域划分成了不同的集合,并且在媒体文件和其他文档之间建立了清楚的分割。经过划分之后应用不可以随意访问外部存储区中的文件,而只能访问媒体文件。

Android 11 (API 级别 30) 进一步增强了平台功能,为外部存储中的应用和用户数据提供了更好的保护。

从 Android 11 开始,使用 分区存储模式 的应用即使拥有 READ_EXTERNAL_STORAGE 权限,也无法再访问外部存储中的任何其他应用的 专属目录 中的文件

受到这一限制的影响,如果你的应用通过第三方 SDK 分享文件 ( 例如分享照片给另一应用上的好友 ) 到其他应用,而这只是将自己专属目录中的文件路径传递给目标应用,目标应用将无法读取该文件。部分分享 SDK 可能没有正确处理这种情形,没有显式报错而只是静默失败 (对方用户都没有意识到这次分享),影响开发者和用户的体验。

FileProvider是Android7就提出的应用间共享文件适配方式,而目前大多数应用和SDK都具备这中方式

如果您的应用需要在 Android 11 上向其他应用分享文件,请检查您使用的第三方分享 SDK 是否支持通过 FileProvider 进行分享 (现在大部分常用的第三方分享 SDK 均已支持)。通过 FileProvider,您的应用能够允许第三方应用读取所分享的文件,而不会受到分区存储的限制

这里微信已经支持通过了FileProvider形式进行分享了,我们可以直接调用

在项目的AndroidManifest.xml添加相关配置,示例如下:

在res/xml目录(如果没有xml目录,则新建一个)下,添加文件file_provider_paths.xml,内容如下:

external-files-path表示通过 Context.getExternalFilesDir(null) 接口获取到的目录下的文件才可被共享,其他未配置的路径均不可被分享。 同样的节点可以配置多个,以支持多个不同的子目录 ,如下所示:

将路径通过FileProvider的接口转换成 content://URI 形式,示例如下:

参考文档 OpenSDK支持FileProvider方式分享文件到微信

微信小程序实现分享至朋友圈的功能来啦

就在7月初,我看到了微信小程序的官网有了分享至微信朋友圈的功能上线beta板,目前只能在android手机显示分享至朋友圈的按钮,iphone手机暂时不支持,但是android手机分享出来的,iphone手机是可以查看的,不多说,先看一下最终的真机上的展示效果(android和iphone手机)

可将小程序页面分享到朋友圈。适用于内容型页面的分享,不适用于有较多交互的页面分享。

小程序页面默认不可被分享到朋友圈,开发者需主动设置“分享到朋友圈”。页面允许被分享到朋友圈,需满足两个条件:

满足上述两个条件的页面,可被分享到朋友圈。

用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程序单页模式”的页面,“单页模式”有以下特点:

可通过判断 场景值 等于 1154 的方法来进行页面适配。另外,在单页模式下,可设置顶部导航栏与页面的相交状态,具体参考 navigationBarFit 配置。

还需留意的是,在单页模式下, wx.getSystemInfo 接口返回的 safeArea 为整个屏幕空间。

小程序“单页模式”适用于纯内容展示场景,可实现的交互与接口能力有限,因此存在如下限制:

对于一些会产生交互的组件或接口,在点击后调用时,会弹 toast 提示“请前往小程序使用完整服务”。为达到良好的用户体验,请注意适配单页模式的接口能力,请勿大量使用被禁用的接口或组件。

需要了解更多,可以具体看看官方:

1、目前只支持android手机,但iphone手机可以查看

2、有部分的android手机也显示不了“分享至朋友圈”的按钮(因为目前知识beta版)

3、不久之后肯定会发布正式版本,到时候iphone和android手机都可以实现,现在小伙伴可以尝鲜一波。

4、还有一点值得注意的是:不得存在滥用分享违规行为。如强制用户分享行为;分享立即获得利益的诱导行为;以及通过明示或暗示的样式来达到诱导分享目的的行为等。这也是小程序一开始没推出这个功能的一大原因。

Android 微信,qq分享文件

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微信分享,android微信分享返回false
本文来源:http://cdkjz.cn/article/phgdjs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220