微信
基础
使用前先下载sdk,一个jar包。
在微信开放平台注册应用,应用审核通过后,会拿到一个APP_ID与AppSecret。微信所有功能的使用都是通过IWXAPI的对象进行操作的。拿到这个对象后,调用它的registerApp(APP_ID)将自己的应用注册到微信列表中。其后才可进行别的操作。示例如下:
private IWXAPI api;
Context mContext;
public WXTools(Context mContext){
this.mContext = mContext;
api = WXAPIFactory.createWXAPI(mContext, Constants.APP_ID, false);//拿到IWXAPI对象
api.registerApp(Constants.APP_ID);//向微信中注册自己的应用
}
回调
新建一个包,包名为"应用包名+wxapi",并在该包中建立一个名为WXEntryActivity的Activity,并且实现IWXAPIEventHandler接口。如下:
package sb.wx.wxapi;//修改成自己应用的包名+wxapi
public class WXEntryActivity extends Activity implements IWXAPIEventHandler{}
实现的接口中有两个方法,onResp()表示第三方应用请求微信,微信处理后的回调。
是否安装过微信
如果手机未安装微信,岀无法使用登陆,分享等功能。判断如下:
private boolean isWXAppInstalledAndSupported() {
IWXAPI api = WXAPIFactory.createWXAPI(this, Constants.APP_ID, false);
return api.isWXAppInstalled()
&& api.isWXAppSupportAPI();
}
登陆
第一步:使用SendAuth.Req调起授权登录界面。
public void login(){
SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";//这个是必须的,用于确定当初应用可获取微信用户的哪些信息
req.state = "sb_login";//这个最好带上
api.sendReq(req);//发起请求
}