最近公司要做微信的第三方登录,本来打算直接用第三方的框架就算了,就闲的想自己集成试试看。
然后发现被腾讯坑得不省人事。
前提,应用必须要在微信开发平台上注册,并且通过审核,有微信登录的权限。
首先,下载官方的demo。把libs的jar包拷到自己的工程里。
在应用的包名下,建一个wxapi的包目录,在里建一个叫WXEntryActivity的activity并实现IWXAPIEventHandler监听,用于微信回调数据!
下面是我自己的WXEntryActivity,OnUserInfoListener 是我的数据回调的接口(忽略吧)
public class WXEntryActivity extends Activity implements IWXAPIEventHandler, OnUserInfoListener {
private static final String TAG = "hezb";
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, ShareConstants.WX_ID, false);
api.handleIntent(getIntent(), this);
Log.d(TAG, "WXEntryActivity onCreate");
}
@Override
public void onReq(BaseReq arg0) {
switch (arg0.getType()) {
case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
break;
case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
break;
default:
break;
}
Log.d(TAG, "WXEntryActivity BaseReq:"+arg0.toString());
/** 打开/重启本APP */
Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
startActivity(iLaunchMyself);
}
@Override
public void onResp(BaseResp arg0) {