链接:http://www.zhihu.com/question/22563359/answer/21806573
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
一、Android第三方应用接入微信开放平台的注意事项:
1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名、app签名的md5值。至于如何获取app签名信息,官方提供签名包apk
(http://open.weixin.qq.com/download/sdk/gen_signature.apk)
2. 如果只是测试或debug,可以用临时AppID(到官网申请但不需要通过审核)。
二、如何运行SDK Demo?(“分享到好友”之后没反应)自己的App呢?
1. Eclipse打开Window->Preferences,在弹出的对话框中,选择Android目录下的Build,指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件。
2. 在自己的App里,记得把debugkeystore改回来(改成当前用户目录)。并且,debug和正式App的AppID记得切换。
三、如何App中实现微信分享?
1. 申请AppID。
2. 下载微信sdk库:libammsdk.jar。
3. 将jar放入app\libs\。
4. 代码中:createWXAPI和registerApp来注册到微信,isWXAppInstalled和isWXAppSupportAPI来判断微信客户端是否安装及安装的版本是否支持微信开放平台,isTimeLineSupportedVersion用于判断微信是否支持朋友圈。
四、如何让我们的App接收到微信的反馈?
1. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,并在manifest文件里面加上exported属性,设置为true。
2. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法。
3. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法。当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。
五、其他注意事项:
1. 是不是必须在WXEntryActivity里发送sendReq及WXEntryActivity必须被调用?
WXEntryActivity可以不被调用,在sendReq后微信有响应就会到WXEntryActivity的onReq,所以一般onReq里Toast发送结果后需要finish(),这样直接返回到发送sendReq的UI(用户感觉不到有WXEntryActivity的存在)。