我是靠谱客的博主 潇洒玫瑰,最近开发中收集的这篇文章主要介绍Android实现微信登录的示例代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

微信登录的实现与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 微信登录内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是潇洒玫瑰为你收集整理的Android实现微信登录的示例代码的全部内容,希望文章能够帮你解决Android实现微信登录的示例代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(115)

评论列表共有 0 条评论

立即
投稿
返回
顶部