欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android ShareSDK微信分享失败及其朋友圈相关问题

程序员文章站 2022-02-16 11:56:49
...

最近在研究App分享功能、项目上决定会sharesdk、最近发现这个做分享真的很快、比如新浪微博、腾讯微博、QQ空间、人人网、开心网、印象笔记、有道云笔记、Google 等等、但是中国这个国度、Google 和Facebook这些国外的平台是用不了的、所有的分享都是几句代码就搞定、但是微信有点麻烦、下面我把如何解决问题说一下、方便其他开发者参考、自己以后也可以查阅


1、注册微信开放平台、微信开发平台资源管理地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN、注册的时候要注意以下几点


a.填写你的应用名称(注意一定要与你的应用名称一致,我由于把一个字母大小写写错害得我为这个问题纠结了5个月,大家一定要注意)

b.在应用签名上填写在步骤1中得到的签名

c.包名一定要与你的应用包名完全一致

d.信息填写完整 提交审核 其实这个时候你已经得到你的AppID把这个加入到你的项目中去 就可以了

f.等待微信审核通过、你就可以调试你的应用了


2、修改ShareSDK.xml、换成自己的AppId


<Wechat
	Id="4"
	SortId="4"
	AppId="微信AppId"
	AppSecret="微信AppSecret"
	BypassApproval="false"
	Enable="true" />

<WechatMoments
	Id="5"
	SortId="5"
	AppId="微信AppId"
	AppSecret="微信AppSecret"
	BypassApproval="false"
	Enable="true" />


3、添加微信的回调activity、然后再manifest中注册


<activity
	android:name="项目包名.wxapi.WXEntryActivity"
	android:theme="@android:style/Theme.Translucent.NoTitleBar"
	android:configChanges="keyboardHidden|orientation|screenSize"
	android:exported="true" />


4、分享的参数可以参考Sample项目中、WechatPage这个类、由于不同的分享类型、对参数要求不一样、一定要严格对比、否则调用不了微信客户端

如、SHARE_TEXT、要求要title和text、SHARE_WEBPAGE、要求要title、text、url、thumbPath、等等很多分享类型、基本title和text是必须的


5、测试时、要打包、用在微信平台注册时的签名(keystore)去打包、打包要注意的是、如果你加了代码混淆、要把libs下面jar加到proguard-project.txt里面、如果发现打包之后分享的图标出不来的话、那就把以下代码也加到proguard-project.txt里面


-keep class android.net.http.SslError
-keep class android.webkit.**{*;}
-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class m.framework.**{*;}


6、测试是否可以打开微信客户端、可以的话、说明代码基本没有问题、如果要多次测试微信分享、可以清除微信客户端的缓存、不然只能调用一次