Android 第三方分享 ShareSDK 回调不成功问题
发布日期:2021-06-28 16:42:44 浏览次数:2 分类:技术文章

本文共 1177 字,大约阅读时间需要 3 分钟。

未经本人授权,不得转载!否则必将维权到底

导语:

最近项目有个需求,需要集成分享到微信好友、微信朋友圈的功能。按照Mob官网的集成文档一路走下来,没有遇到大的问题。详细的ShareSDK集成教程可查阅这篇博客:。

然而在分享微信好友后,回到自己的项目上,并没有”分享成功/失败”这样的Toast提示。按照以往的开发经验,第三方分享一定会有回调接口让我实现,但是看了新版本的ShareSDK继承的类跟以前不太一样,并没有在WXEntryActivity实现回调接口。顿时一阵疑惑,经过Google+Mob官方文档最后得以实现,觉得有必要写下来让大家以后遇到这个问题的时候能够快速解决。

新版本WXEntryActivity:

图例1.png

如上图所示,WXEntryActivity里面只重写了onGetMessageFromWXReq()和onShowMessageFromWXReq()这两个方法,微信本身并没有执行回调方法。这样就难道就没有办法监听”分享成功/失败”了吗?

后来通过查看Mob官方论坛,发现了解到集成完ShareSDK之后要对微信的这个包名进行修改

图例2.jpg

就是需要将WXEntryActivity所在类的包名改成与package下的包名一致,即包名”.wxapi”;

而微信的回调activity中默认即可,修改完成,微信才可以正确回调,以本人项目为例子:
本人项目的包名:
图例3.png

那WXEntryActivity所在类的包名为:com.xiaoy.keithxiaoy.main.wxapi

项目结构如下:

图例4.png

通过上述步骤后,发现分享成功返回自己的app时,弹出Toast,提示”分享成功”。

图例5.jpg

虽然这里已经满足项目的需求,但对提示文字无法自控,也无法在回调方法里面实现自己后续的操作,所以这并不是一个完美的解决方案。


最后的解决方案:

后来在自己项目具体实现分享功能的Activity里面翻ShareSDK提供的API发现了setcallback(),里面有三个回调监听,分别是完成、错误、取消:

图例6.png

到这里,大家肯定知道这三个回调监听的作用了,这里我们可以实现分享成功/失败/取消后一系列的操作。

最后来一张分享成功后,回到自己app的提示效果图:

图例7.jpg

####再次提醒:必须按照上面的方法,一定将WXEntryActivity所在类的包名改成与package下的包名一致,并且在微信端分享后,不点击留在微信,而点击回到app才能触发此回调方法!!!

结束语:

到这里,这个分享到微信的小问题就解决了,秉着自己记录下来,自己或者他人出现同样问题能快速解决的心态来写这篇文章的。编程的路还很长,一起努力把。


本文原创发布于微信公众号「keithxiaoy」,编程、思维、成长、正能量,关注并回复「编程」、「阅读」、「Java」、「Python」等关键字获取免费学习资料

不要给自己的人生设限

转载地址:https://blog.csdn.net/XiaoY_yan/article/details/80965764 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:AndroidStudio Instant Run 报错问题
下一篇:Android AlertDialog/AlertDialog.builder 以及自定义AlertDialog方法

发表评论

最新留言

很好
[***.229.124.182]2024年04月07日 03时42分11秒