在你的app应用里增长微信分享的功能,能够分享给好友、朋友圈。html
首先,看官方文档这是必须的:android
官方文档已经介绍的很详细了,不过有一些地方,咱们在开发的时候须要注意。说明如下两块:api
1. 微信SDK Sample Demo源码 怎么build才能分享成功微信
Demo代码目录下有一个debug.keystore文件,在build的时候按照这个来签名,demo编出来的app才能成功分享到微信。app
修改android默认签名文件见下图:windown->preferences函数
2. 咱们本身开发测试
1) 申请AppId,注意申请提交的app要用你最终打包的签名。申请成功以后,app包名就不要变了,由于与appID是对应的。ui
2) 按照官方文档中,新建WXEntryActivity,注意其所在的包必须是”app包名”+.wxapi。其实这个实现了IWXAPIEventHandler 这个接口,是被微信那边来回调的。this
请求微信分享的调用api.sendReq在其余Activity中都行,跟WXEntryActivity这个没有关系。spa
3) 打包测试的时候,用最终要打包的签名文件测试,这样才能分享成功。(packagename、打包签名的key、申请的appid这三者要对应,测试才能成功)
4) 在app中,咱们每每都要知道是否分享成功了,微信已经提供了回调。
回调后是进入到WXEntryActivity这个activity了,因此在onResp()函数中添加this.finish来退出这个activity,返回到咱们本身app的activity。
在WXEntryActivity的回调函数中,能够相似这么写。
1 public void onResp(BaseResp resp) { 2 int result = 0 ; 3 4 switch (resp.errCode) { 5 case BaseResp.ErrCode.ERR_OK: 6 result = R.string.errcode_success; 7 break ; 8 case BaseResp.ErrCode.ERR_USER_CANCEL: 9 result = R.string.errcode_cancel; 10 break ; 11 case BaseResp.ErrCode.ERR_AUTH_DENIED: 12 result = R.string.errcode_deny; 13 break ; 14 default : 15 result = R.string.errcode_unknown; 16 break ; 17 } 18 19 Toast.makeText( this , result, Toast.LENGTH_LONG).show(); 20 21 // TODO 微信分享 成功以后调用接口 22 this .finish(); 23 }
另外,声明Activity的时候,把activity透明.
1 < activity 2 android:name = " .wxapi.WXEntryActivity " 3 android:screenOrientation = " portrait " 4 android:theme = " @style/No_Background " 5 android:exported = " true " 6 />
以上是本身的一个简单记录。
参考文档: