12wang3
V2EX  ›  问与答

Android 实现第三方微信登录,结果没有响应,为何?

  •  
  •   12wang3 · Mar 30, 2016 · 1445 views
    This topic created in 3700 days ago, the information mentioned may be changed or developed.
    我按照 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=39c14a1b2004f84031ea6b9fc38c7b95d6517e85&lang=zh_CN 官方给的文档进行配置,但是没有响应。
    LoginActivity 里面的相关代码:

    private void loginWithWX() {
    if (wxAPI == null) {
    wxAPI = WXAPIFactory.createWXAPI(context, Config.APP_ID, false);
    }
    if (!wxAPI.isWXAppInstalled()) {
    // wx not installed
    Toast.makeText(context, "wx not installed", Toast.LENGTH_SHORT).show();
    return;
    }
    wxAPI.registerApp(Config.APP_ID);

    SendAuth.Req req = new SendAuth.Req();
    req.scope = "snsapi_userinfo";
    req.state = "state";

    wxAPI.sendReq(req);
    }

    WXEntryActivity 代码:
    @ContentView(R.layout.activity_main)
    public class WXEntryActivity extends BaseActivity{

    @Override
    protected void initLayout() {
    handleWXIntent(getIntent());
    }

    @Override
    protected void initListener() {

    }

    @Override
    protected void initValue() {

    }

    @Override
    protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    handleWXIntent(intent);
    }

    private void handleWXIntent(Intent intent){
    SendAuth.Resp resp = new SendAuth.Resp(intent.getExtras());
    switch (resp.errCode) {
    case BaseResp.ErrCode.ERR_AUTH_DENIED:
    // User deny
    break;
    case BaseResp.ErrCode.ERR_USER_CANCEL:
    // User cancel
    break;
    case BaseResp.ErrCode.ERR_OK:
    // if(resp.state == "") to prevent csrf attack
    Toast.makeText(context, "code:" + resp.code, Toast.LENGTH_SHORT);
    Log.e(TAG, "resp.code " + resp.code);
    break;
    default:
    // Exception
    break;
    }
    }
    }

    而且很奇怪的是,我在 AndroidManifest 里面设置了网络权限,但是他还是提示没有权限,这又是什么原因?
    AndroidManifest 里的权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />


    初次接触此类开发,望老司机带带路,万分感谢。
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5487 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:56 · PVG 16:56 · LAX 01:56 · JFK 04:56
    ♥ Do have faith in what you're doing.