美文网首页
微信登陆的快速开发

微信登陆的快速开发

作者: 6d4fea58b0b7 | 来源:发表于2019-05-13 17:08 被阅读0次

这里记录一下快速集成微信登陆,网上也有很多,但是我这个是记录一下自己做的流程。可以直接把代码拷贝使用一气呵成。

1、引入微信SDK依赖
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
2、申明应用权限
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2、向微信注册APP
 这里首先要注册开发者帐号,取得APPID和AppSecret
public class MyApplication extends Application {

 public static IWXAPI mWxApi;

@Override
public void onCreate() {
    super.onCreate();
    registerToWX();
}

private void registerToWX() {
    //第二个参数是指你应用在微信开放平台上的AppID
    mWxApi = WXAPIFactory.createWXAPI(this, MainConstant.WX.WEIXIN_APP_ID, false);
    // 将该app注册到微信
    mWxApi.registerApp(MainConstant.WX.WEIXIN_APP_ID);
   }
}
2、请求微信授权登录
  //先判断是否安装微信APP,按照微信的说法,目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。
     if (!WXUtils.isWXAppInstalled()) {
          ToastUtils.showToast("您还未安装微信客户端");
          return;
      }
    //微信登录
    public void wxLogin() {
        SendAuth.Req req = new SendAuth.Req();
        req.scope = "snsapi_userinfo";
        req.state = "diandi_wx_login";
        //像微信发送请求
        MyApplication.mWxApi.sendReq(req);
    }

这个方法会跳到微信的授权界面,进行授权。 这里也有个坑点 ,你的app的签名和开发者里面的要一样才行。
使用这个工具可以查看app的签名,资源地址: ![]{https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=d914a1d0def9667e020392cfd4462fe7bdd72db0&lang=zh_CN}

5、创建WXEntryActivity.java来接收微信的响应事件
  • WXEntryActivity是一个Activity,用来接收微信的响应信息。这里有几个需要注意的地方:
  • 它必须在"包名.wxapi"这个包下,如:你的应用包名为:com.xx.test,则WXEntryActivity所在的包名必须为com.xx.test.wxapi。这里和签名一样,很重要,你如果名字错了,或者包名的位置错了,都是不能回调的,切记
    -创建后在AndroidManifest.xml文件中对WXEntryActivity进行设置:
<!--微信-->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  • WXEntryActivity的具体实现,主要是处理微信和app通信的不同event。
public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {
  @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //这句没有写,是不能执行回调的方法的
        handleIntent(getIntent(), this);
    }

 public static boolean handleIntent(Intent intent, IWXAPIEventHandler var2) {
        if (intent == null) {
            return false;
        }
        return mWxApi.handleIntent(intent, var2);
    }
  // 微信发送请求到第三方应用时,会回调到该方法
    @Override
    public void onReq(BaseReq baseReq) {

    }
    // 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
    //app发送消息给微信,处理返回消息的回调
    @Override
    public void onResp(BaseResp baseResp) {
          int type = baseResp.getType();  //类型:分享还是登录
          switch (baseResp.errCode) {
               // 成功获得回调。
            case BaseResp.ErrCode.ERR_OK:
                  //1。得到code
                String code = ((SendAuth.Resp) baseResp).code;
                 //2。根据code得到token和openid
                String Url = https://api.weixin.qq.com/sns/oauth2/access_token?appid=你的APPID&secret=你的SECRET&code=你的CODE&grant_type=authorization_code;
                  //3。根据tokent和openid取得微信的个人信息
                  String url="https://api.weixin.qq.com//sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID";
                 //4。和服务器交互
          }
     }
}

这个是微信的接口地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&token=&lang=zh_CN

相关文章

  • 微信登陆的快速开发

    这里记录一下快速集成微信登陆,网上也有很多,但是我这个是记录一下自己做的流程。可以直接把代码拷贝使用一气呵成。 1...

  • 初试小程序

    开发前的装备 注册账号 下载开发者工具 注册登录微信公众平台并记下appID(在开发设置里) 快速开始 打开登陆开...

  • 基于JavaEE——微信网页(二)微信开发

    微信开发测试公众号(沙盒号) 微信API帮助文档 微信接口在线调试 首先申请微信开发的测试公众号,登陆后会看到微信...

  • 一行代码集成微信开放平台的轻量级封装库

    1、为了能够快速高效的在App里面集成使用微信开放平台的微信分享、微信登陆功能,进行轻量级封装,快速实现 2、CG...

  • PHP接入微信登陆时处理微信昵称表情

    近些天,在开发的时候,需要接入微信授权登陆,并且需求是登陆后需要将微信的昵称,此时如果微信昵称中有emoji表情,...

  • 二. Unity开发微信登陆2_Unity与Android的交互

    目的 1. 为什么要写“Unity开发微信登陆”? unity如果想使用微信登陆一般有两种方法,第一种...

  • 微信小程序云开发(一)

    什么是微信云开发 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。 开发者可以使用云开发快速开发小程序、...

  • 小程序-如何获取手机ip地址

    环境:windows 7微信开发者工具 问题描述:查看微信小程序开发文档,我们会发现微信并没有提供获取手机登陆IP...

  • 2-3 小程序开发工具介绍

    官方在下载“微信开发者工具”之后,需要微信账号扫描二维码才能登陆。 首先需要微信账号 2017.11.16微信小程...

  • 微信小程序

    开发参考 发布参考 开发参考 appId获取方式登陆微信公众号平台,找到小程序=>开发=>开发设置=>appId备...

网友评论

      本文标题:微信登陆的快速开发

      本文链接:https://www.haomeiwen.com/subject/qqlraqtx.html