您好,登錄后才能下訂單哦!
這篇文章主要講解了“Android怎么實(shí)現(xiàn)微信登錄功能”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Android怎么實(shí)現(xiàn)微信登錄功能”吧!
一、布局界面
二、MainActivity.java
微信登錄的實(shí)現(xiàn)與qq登錄類似。不過(guò)微信登錄比較麻煩,需要拿到開(kāi)發(fā)者資質(zhì)認(rèn)證,花300塊錢,然后應(yīng)用的話還得有官網(wǎng)之類的,就是比較繁瑣的前期準(zhǔn)備工作,如果在公司里,這些應(yīng)該都不是事,會(huì)有相關(guān)人提前準(zhǔn)備好。在這里我們已經(jīng)拿到了開(kāi)發(fā)者認(rèn)證,并且申請(qǐng)到了微信登錄的授權(quán)。
現(xiàn)在直接介紹mob來(lái)實(shí)現(xiàn)微信登錄的代碼,并獲取微信的相關(guān)數(shù)據(jù),比較簡(jiǎn)單。
布局界面只需要一個(gè)button來(lái)觸發(fā)授權(quán)就可以
<Button android:id="@+id/wxlogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="微信登錄" />
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登錄測(cè)試hashMap"+hashMap); System.out.println("wx登錄測(cè)試hashMap"+hashMap.toString()); String unionid = (String) hashMap.get("unionid"); System.out.println("wx登錄測(cè)試unionid"+unionid); System.out.println("wx登錄測(cè)試"+platform.getDb().toString()); String thirdLoginId = platform.getDb().getUserId(); System.out.println("wx登錄測(cè)試thirdLoginId:"+thirdLoginId); String userName = platform.getDb().getUserName(); System.out.println("wx登錄測(cè)試userName:"+ userName); String image = platform.getDb().getUserIcon(); System.out.println("wx登錄測(cè)試image:"+image); String sex = qq.getDb().getUserGender(); System.out.println("wx登錄測(cè)試sex:"+sex); System.out.println("wx登錄測(cè)試:"+"成功了"); } @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ù) 單獨(dú)授權(quán)(只獲取授權(quán)信息,不獲取用戶信息)plat. showUser(null):要數(shù)據(jù)無(wú)需功能à授權(quán)并獲取信息(除了授權(quán)信息,其他用戶信息可以在oncomplete中的hashmap中獲?。?/p>
這樣就拿到的微信的授權(quán),并且獲得數(shù)據(jù),然后將數(shù)據(jù)向數(shù)據(jù)庫(kù)中存儲(chǔ),就可以做微信登錄了。
總體流程來(lái)說(shuō)還是比較簡(jiǎn)單,直接調(diào)用接口就行,就是前期的審核準(zhǔn)備工作比較麻煩。
感謝各位的閱讀,以上就是“Android怎么實(shí)現(xiàn)微信登錄功能”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Android怎么實(shí)現(xiàn)微信登錄功能這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。