Android实现微信登录的示例代码

编辑: admin 分类: Android 发布时间: 2021-11-29 来源:互联网
目录
  • 一、布局界面
  • 二、MainActivity.java

微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较繁琐的前期准备工作,如果在公司里,这些应该都不是事,会有相关人提前准备好。在这里我们已经拿到了开发者认证,并且申请到了微信登录的授权。

在这里插入图片描述

现在直接介绍mob来实现微信登录的代码,并获取微信的相关数据,比较简单。

一、布局界面

布局界面只需要一个button来触发授权就可以

    <Button
        android:id="@+id/wxlogin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="微信登录" />

二、MainActivity.java

public class MainActivity extends Activity {
    private Button wxlogin;
    private Platform wx;
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        wxlogin = (Button) login_view.findViewById(R.id.wxlogin);
        wxlogin.setOnClickListener(new wxloginListener());
        }


private class wxloginListener implements OnClickListener {
        @Override
        public void onClick(View arg0) {
            wx = ShareSDK.getPlatform(Wechat.NAME);
            System.out.println("微信是否已经授权1:"+wx.isAuthValid());
            if(wx.isAuthValid()){
                wx.removeAccount(true);
            }
            System.out.println("微信是否已经授权2:"+wx.isAuthValid());
            wx.SSOSetting(false); // 设置false表示使用SSO授权方式
            wx.authorize();
            wx.showUser(null);
            wx.setPlatformActionListener(new PlatformActionListener() {
                @Override
                public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
                    System.out.println("wx登录测试hashMap"+hashMap);
                    System.out.println("wx登录测试hashMap"+hashMap.toString());
                    String unionid = (String) hashMap.get("unionid");
                    System.out.println("wx登录测试unionid"+unionid);
                    System.out.println("wx登录测试"+platform.getDb().toString());
                    String thirdLoginId = platform.getDb().getUserId();
                    System.out.println("wx登录测试thirdLoginId:"+thirdLoginId);
                    String userName = platform.getDb().getUserName();
                    System.out.println("wx登录测试userName:"+ userName);
                    String image = platform.getDb().getUserIcon();
                    System.out.println("wx登录测试image:"+image);
                    String sex = qq.getDb().getUserGender();
                    System.out.println("wx登录测试sex:"+sex);
                    System.out.println("wx登录测试:"+"成功了");
                }

                @Override
                public void onError(Platform platform, int i, Throwable throwable) {

                }

                @Override
                public void onCancel(Platform platform, int i) {

                }
            });
            wx.removeAccount(true);
            System.out.println("微信是否已经授权3:"+wx.isAuthValid());
        }
    }
}

在这里插入图片描述

这是官方提供的接口,

plat. authorize():要功能不要数据 单独授权(只获取授权信息,不获取用户信息)plat. showUser(null):要数据无需功能à授权并获取信息(除了授权信息,其他用户信息可以在oncomplete中的hashmap中获取)

在这里插入图片描述

在这里插入图片描述

这样就拿到的微信的授权,并且获得数据,然后将数据向数据库中存储,就可以做微信登录了。
总体流程来说还是比较简单,直接调用接口就行,就是前期的审核准备工作比较麻烦。

到此这篇关于Android实现微信登录的示例代码的文章就介绍到这了,更多相关Android 微信登录内容请搜索海外IDC网以前的文章或继续浏览下面的相关文章希望大家以后多多支持海外IDC网!

【本文由:日本服务器 欢迎转载】