android接入微信登录点击授权登录后如何接收微信的返回数据

HASSSSH 2016-04-06 08:24:34

点击确认登录以后,打出来的Log只有这些

没有回调我重写的onReq和onResp方法,并且调用的boolean handleIntent(Intent arg0, IWXAPIEventHandler arg1)方法返回值为false

我也是对着开发文档来做的,到底我什么地方出错了?


public class Activity_Login extends Activity implements OnClickListener, IWXAPIEventHandler {

private final static String TAG = "Activity_Login";
public static Activity_Login instance = null;
private LinearLayout signIn, signUp;
private Button login_wechat;
private IWXAPI api;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_login);

instance = Activity_Login.this;

signIn = (LinearLayout) findViewById(R.id.login_denglu);
signUp = (LinearLayout) findViewById(R.id.login_zhuce);
login_wechat = (Button) findViewById(R.id.login_wechat);

signIn.setOnClickListener(this);
signUp.setOnClickListener(this);
login_wechat.setOnClickListener(this);

// 注册到微信
api = WXAPIFactory.createWXAPI(this, Constants.WeChat_AppID, false);
api.registerApp(Constants.WeChat_AppID);
boolean flag = api.handleIntent(getIntent(), this);
if (flag) {
Log.i(TAG, "handleIntent");
} else {
Log.i(TAG, "!handleIntent");
}
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.login_denglu:
Intent intent1 = new Intent(Activity_Login.this, Activity_SignIn.class);
startActivity(intent1);
overridePendingTransition(R.anim.base_slide_right_in, R.anim.base_slide_remain);
break;
case R.id.login_zhuce:
Intent intent2 = new Intent(Activity_Login.this, Activity_SignUp.class);
startActivity(intent2);
overridePendingTransition(R.anim.base_slide_right_in, R.anim.base_slide_remain);
break;
case R.id.login_wechat:
// send oauth request
final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "signinwechat";

boolean flag = api.sendReq(req);

if (flag) {
Log.i(TAG, "api.sendReq(req)");
} else {
Log.i(TAG, "!api.sendReq(req)");
}
break;
default:
break;
}

}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.i(TAG, "onNewIntent");

setIntent(intent);
api.handleIntent(intent, this);
}

@Override
public void onReq(BaseReq req) {
Log.i(TAG, "onReq");
Log.i(TAG, String.valueOf(req.getType()));
}

@Override
public void onResp(BaseResp resp) {
String result = null;

Log.i(TAG, "onResp");
Log.i(TAG, "errCode=" + resp.errCode);
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = "发送成功";
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = "发送取消";
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = "发送被拒绝";
break;
default:
result = "发送返回";
break;
}

Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}

}
...全文
403 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010441565 2016-06-17
  • 打赏
  • 举报
回复
楼主解决了吗 我也遇到同样的问题了
HASSSSH 2016-04-06
  • 打赏
  • 举报
回复
这是清单文件里中对于的Activity

<activity
            android:name="com.me.activity.Activity_Login"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait" >

        </activity>

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧