Android實現(xiàn)微信登錄的示例代碼
微信登錄的實現(xiàn)與qq登錄類似。不過微信登錄比較麻煩,需要拿到開發(fā)者資質(zhì)認(rèn)證,花300塊錢,然后應(yīng)用的話還得有官網(wǎng)之類的,就是比較繁瑣的前期準(zhǔn)備工作,如果在公司里,這些應(yīng)該都不是事,會有相關(guān)人提前準(zhǔn)備好。在這里我們已經(jīng)拿到了開發(fā)者認(rèn)證,并且申請到了微信登錄的授權(quán)。

現(xiàn)在直接介紹mob來實現(xiàn)微信登錄的代碼,并獲取微信的相關(guān)數(shù)據(jù),比較簡單。
一、布局界面
布局界面只需要一個button來觸發(fā)授權(quán)就可以
<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("微信是否已經(jīng)授權(quán)1:"+wx.isAuthValid());
if(wx.isAuthValid()){
wx.removeAccount(true);
}
System.out.println("微信是否已經(jīng)授權(quán)2:"+wx.isAuthValid());
wx.SSOSetting(false); // 設(shè)置false表示使用SSO授權(quán)方式
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("微信是否已經(jīng)授權(quán)3:"+wx.isAuthValid());
}
}
}

這是官方提供的接口,
plat. authorize():要功能不要數(shù)據(jù) 單獨授權(quán)(只獲取授權(quán)信息,不獲取用戶信息)plat. showUser(null):要數(shù)據(jù)無需功能à授權(quán)并獲取信息(除了授權(quán)信息,其他用戶信息可以在oncomplete中的hashmap中獲?。?/p>


這樣就拿到的微信的授權(quán),并且獲得數(shù)據(jù),然后將數(shù)據(jù)向數(shù)據(jù)庫中存儲,就可以做微信登錄了。
總體流程來說還是比較簡單,直接調(diào)用接口就行,就是前期的審核準(zhǔn)備工作比較麻煩。
到此這篇關(guān)于Android實現(xiàn)微信登錄的示例代碼的文章就介紹到這了,更多相關(guān)Android 微信登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android通過Location API顯示地址信息的實現(xiàn)方法
這篇文章主要介紹了android通過Location API顯示地址信息的方法,涉及Android操作Geocoder類獲取地址信息的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
Android中使用AndroidTestCase的方法實例
這篇文章主要介紹了Android中使用AndroidTestCase的方法實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-04-04
Android進(jìn)程運行中權(quán)限被收回導(dǎo)致關(guān)閉的問題解決
在Android開發(fā)中我們可能會遇到這樣的問題,進(jìn)程還在運行著某些權(quán)限卻被收回了,這就導(dǎo)致進(jìn)程崩潰被迫關(guān)閉,本篇文章將帶你了解這個問題的發(fā)生與解決方法2021-10-10
android H5本地緩存加載優(yōu)化的實戰(zhàn)
這篇文章主要介紹了android H5本地緩存加載優(yōu)化的實戰(zhàn),幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04
Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面
使用Ionic2創(chuàng)建應(yīng)用非常簡單,只需在V1的命令后跟上--v2即可.這篇文章主要介紹了Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面的相關(guān)資料,需要的朋友可以參考下2016-10-10
快速解決進(jìn)入fragment時不能彈出軟件盤的問題
下面小編就為大家?guī)硪黄焖俳鉀Q進(jìn)入fragment時不能彈出軟件盤的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
ViewModel中StateFlow和SharedFlow單元測試使用詳解
這篇文章主要為大家介紹了ViewModel中StateFlow和SharedFlow單元測試使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

