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!
推薦閱讀:
- Android四大組件之Activity深入解讀生命周期
- Android生成隨機數的方法實例
- Android利用zxing生成二維碼的過程記錄
- Android使用ContentProvider實現查看系統短信功能
- Android實現背景圖片輪播