編輯:關於Android編程
研究微信的授權登錄就感覺最開始學習安卓一樣,什麼也不懂,做個東西十分費力(我只想說微信的文檔相當亂)
正文開始:微信的授權登錄,准備工作就和官網上面差不多,到官網注冊開發者,掏錢.然後創建應用,
創建android應用需要兩個參數:
一個是包名(AndroidManifest文件中的數據package)
一個是簽名:可以通過軟件獲取(詳見下面附錄)
然後就可以獲取一個appid和appsercet.
按照官網所講,appsercet是很重要的東西,最好不要放到客戶端,也就是我們的app中,如果你要是集成三方此事就另當別論了
我就只做了前面,也就是通過appid進行授權,獲取code之後發到服務器,剩下的事情服務器自行完成.
下面主要說下如何獲取code.
1.發送請求
private String APPID = "wx*************"; public static IWXAPI iwxapi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //這裡是最開始注冊的 iwxapi = WXAPIFactory.createWXAPI(this, APPID); iwxapi.registerApp(APPID); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //發送請求 SendAuth.Req req = new SendAuth.Req(); req.scope = "snsapi_userinfo"; req.state = "wechat_sdk_demo_test"; iwxapi.sendReq(req); } }); }上面的東西都和官網和百度出來的差不多.然後就是請求做完了,需要回調了
2.回調
這個地方是非常注意的,哪怕你使用第三方也必須十分注意,是在你的包目錄下面,新建一個包叫做"wxapi".然後在裡面創建一個繼承了Activity的WXEntryActivity.最後在配置文件中聲明並且加上"exported="true""這個,上面的意思也就是WXEntryActivity的路徑必須是包名.wxapi.WXEntryActivity
下面是我的WXEntryActivity,並沒有像官網所說實現什麼IWXEVENTHANDLER.
public class WXEntryActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); handleIntent(getIntent()); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { SendAuth.Resp resp = new SendAuth.Resp(intent.getExtras()); if (resp.errCode == BaseResp.ErrCode.ERR_OK) { //在這裡就可以獲取到微信返回的東西了,想要怎麼處理就在這寫好就可以了 }
finish(); }}
最後說明下,為了不展現WXEntryActivity,設置activity的主題為@android:style/Theme.Translucent,並且finish()掉.官網上面寫的研究了一整天就是沒有任何返回值,無奈放棄了
實現的原理這裡說的不是熱修復怎麼實現修bug的原理,這裡說的是怎麼使用AndFix。如果你想了解更多的andFix實現原理,你可以參考下面的文章:https://gith
以下是Demo首頁的預覽圖 demo下載:http://www.eoeandroid.com/forum.php?mod=attachment&aid=
一、猜想數據存放路徑微信現在是老少皆宜,大街小巷都在使用,已經替代了傳統的短信聊天方式了,只要涉及到聊天就肯定有隱私消息,那麼本文就來講解如何獲取微信的聊天記錄以及通訊錄
一般來說。熟悉Android程序設計的人都知道Android有三個基礎組件Activity,Service和BroadcastReceiver,他們都是依賴Intent來