Android微信分享

最近在做安卓微信分享,在此做个记录。

首先要去微信开放平台官网注册一个开发者账号,然后下载最新的sdk和一个用于生成我们应用签名的apk工具,把我们的应用和从官网下载的那个工具先后安装到手机上,运行工具,输入我们应用的包名,之后会获得一个加密串,这个加密串就是签名。接下来我们要创建产品,准备好两种尺寸的应用图标(28*28,108*108),填写了相关信息,上传了图标之后我们把刚才获得的那个签名也填进去,提交之后等候审核。审核通过后我们就能得到一个用于跟微信交互的APPID。

接下来我们把从官网下载的sdk(libammsdk.jar)拷贝到我们的libs文件夹下,并且在manifest中配置以下权限:

官网的接入指南上面说需要一个名称为WXEntryActivity的export型activity,官方的demo里直接让这个activity实现了IWXAPIEventHandler接口用于接收微信的请求和相应,这里我并不是这样做的,出于解耦合的目的,我把依赖微信API的逻辑都封装到了一个单例代理类中,并且让这个代理类来实现IWXAPIEventHandler接口,在WXEntryActivity的onCreate中调用代理类的一个方法来处理intent,这样我的app其他需要分享的页面只会依赖我的代理类而不会出现多处依赖第三方api的情况。我不知道我这种做法是否合理会不会有隐患,自测目前没发现问题,这里暂作记录。

我们用来跟微信交互的核心类是IWXAPI这个接口,这个类的实例通过WXAPIFactory的静态工厂方法被创建出来,跟进源码发现它的实现类是IWXAPIImpl10,它的主要方法有向微信注册和反注册我们的app以及发送请求。注册和反注册这两个方法目前我没发现有什么用处,无论是否注册都能分享文字、图片等内容,也许这会影响支付等功能吧,后续有结论再来补充。分享文字、图片等都属于发送请求,这些方法都有boolean类型的返回值,接口文档上说这个返回值证明是否分享成功,我并不这样认为,反编译源码发现这个值只能证明在跨进程通讯之前本地的验证是否有问题,具体的分享结果还要看微信的回调才能知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值