80,471
社区成员




private void registToWX() {
mWxApi = WXAPIFactory.createWXAPI(this, WEIXIN_APPID, false);
// 将该app注册到微信
mWxApi.registerApp(WEIXIN_APPID);
}
public void wxLogin() {
if (!BaseApp.mWxApi.isWXAppInstalled()) {
ToastUtils.showShort(mActivity,"您还未安装微信客户端");
return;
}
SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "wechat_sdk_xb_live_state";
BaseApp.mWxApi.sendReq(req);
}
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private static final int RETURN_MSG_TYPE_LOGIN = 1;
private static final int RETURN_MSG_TYPE_SHARE = 2;
private static final String TAG = "WXEntryActivity";
public static String code;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean handleIntent = BaseApp.mWxApi.handleIntent(getIntent(), this);
//下面代码是判断微信分享后返回WXEnteryActivity的,如果handleIntent==false,说明没有调用IWXAPIEventHandler,则需要在这里销毁这个透明的Activity;
if(!handleIntent){
Log.d(TAG, "onCreate: "+handleIntent);
finish();
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
BaseApp.mWxApi.handleIntent(intent, this);
}
// 微信发送请求到第三方应用时,会回调到该方法
@Override
public void onReq(BaseReq req) {
Log.v(TAG, "onReq: ");
finish();
}
// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
//app发送消息给微信,处理返回消息的回调
@Override
public void onResp(BaseResp resp) {
Log.v(TAG,resp.errStr);
Log.v(TAG,"错误码 : " + resp.errCode + "");
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_AUTH_DENIED:
case BaseResp.ErrCode.ERR_USER_CANCEL:
if (RETURN_MSG_TYPE_SHARE == resp.getType()) ToastUtils.showShort(WXEntryActivity.this,"分享失败");
else ToastUtils.showShort(WXEntryActivity.this,"登录失败");
break;
case BaseResp.ErrCode.ERR_OK:
switch (resp.getType()) {
case RETURN_MSG_TYPE_LOGIN:
code = ((SendAuth.Resp) resp).code;
Log.v(TAG,"code = " + code);
finish();
break;
case RETURN_MSG_TYPE_SHARE:
ToastUtils.showShort(WXEntryActivity.this,"微信分享成功");
finish();
break;
}
break;
}
}
}
不管true还是false都不行啊,快急死了,怎么弄都不行
我好像遇到过这个问题,但是忘了在哪。。。。 你先把获取api mWxApi = WXAPIFactory.createWXAPI(this, WEIXIN_APPID, true); 最后的这个参数改成true看看。 其次就是你可以在你的WXEntryActivity这个类里面 再注册一遍api,写在handleIntent之前。 mWxApi = WXAPIFactory.createWXAPI(this, WEIXIN_APPID, false); // 将该app注册到微信 mWxApi.registerApp(WEIXIN_APPID);