现在我们给应用添加一个功能,能在应用内将消息分享给微信好友,或者分享到朋友圈中。
我们首先来到微信开放平台官网,跟着组织走,官网指南:
https://open.weixin.qq.com/cgi-bin/frame?t=resource/res_main_tmpl&verify=1&lang=zh_CN
点击这里,查看步骤
按照要求将应用信息补完就行,期间有一点要注意:
这次我们需要的应用签名不再是SHA1 fingerprint,而是MD5 fingerprint!!
而且我们要把签名中该死的冒号给去掉才行!
最后我们得到这样的签名:
填入正确后等待审核。
ps:其实签名和包名填错都没关系,应用审核通过后可以随时更改。
但是 应用名称没办法修改 了。
注意AndroidManifest.xml 添加必要的权限支持:
首先我做了一个这样的DEMO:使用高德地图sdk取得自己的定位,返回经纬度和详细地址描述:
我添加一个按钮,点击能讲现在的位置分享到微信。
现在这个按钮是空的,我们一步步来做。
可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。
这一段代码塞到onCreate()里面就行了。
需要注意的是,SendMessageToWX.Req的scene成员,如果scene填WXSceneSession,那么消息会发送至微信的会话内。
如果scene填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况,可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。
scene默认值为WXSceneSession。
a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity。
如图:
并在manifest文件里面加上exported属性,设置为true,例如:
b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法
c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下:
当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。
我们首先来到微信开放平台官网,跟着组织走,官网指南:
https://open.weixin.qq.com/cgi-bin/frame?t=resource/res_main_tmpl&verify=1&lang=zh_CN
点击这里,查看步骤
1.申请你的AppID
开发者账号注册完了之后,来到管理中心,创建我们第一个应用。按照要求将应用信息补完就行,期间有一点要注意:
这次我们需要的应用签名不再是SHA1 fingerprint,而是MD5 fingerprint!!
而且我们要把签名中该死的冒号给去掉才行!
最后我们得到这样的签名:
填入正确后等待审核。
ps:其实签名和包名填错都没关系,应用审核通过后可以随时更改。
但是 应用名称没办法修改 了。
这些都完成,审核通过后我们会得到AppID。
于是我们也是有身份了人了。
那么这个应用名称会在那里显示呢?
请叫我土豪。
2.搭建开发环境
下载libammsdk.jar包添加到buildpath什么的就不再赘述了。注意AndroidManifest.xml 添加必要的权限支持:
3.在代码中使用
接下来我会直接使用自己的例子作为说明。首先我做了一个这样的DEMO:使用高德地图sdk取得自己的定位,返回经纬度和详细地址描述:
我添加一个按钮,点击能讲现在的位置分享到微信。
现在这个按钮是空的,我们一步步来做。
[1] 注册到微信
要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。
这一段代码塞到onCreate()里面就行了。
[2] 发送请求到微信
然后我们点击分享按钮,然后跳转到分享页面。同时将我们要分享的文本带过去。点击文字按钮,弹出对话框,可以在里面修改要分享的文字。
需要注意的是,SendMessageToWX.Req的scene成员,如果scene填WXSceneSession,那么消息会发送至微信的会话内。
如果scene填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况,可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。
scene默认值为WXSceneSession。
[3] 接收微信的请求及返回值
如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity。
如图:
并在manifest文件里面加上exported属性,设置为true,例如:
b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法
c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下:
当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。