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 微信登錄內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: