微信登陸、分享做了一段時間了發現的一些坑:
1.首先,Android應用程式除了獲取AppID外,應用程式還要透過審核,否則無法調起微信進行分享,並且需要在網站上填寫包名和簽名兩個字段,簽名可使用簽名產生工具取得。如有特殊需要,請自行參考《Signature的生成方法》生成。
見微信開放平台-->行動應用程式-->常見問題-->安卓常見問題與微信開放平台-->資源下載-->android資源下載-->簽名產生工具下載
2.第一步的簽章和包名必須寫對.第二個問題,就是如何接受到微信的回呼
a. 在你的包名相應目錄下新建一個wxapi目錄,並在該wxapi目錄下新增一個WXEntryActivity類,該類別繼承自Activity()
並在manifest檔案裡面加上exported屬性,設定為true,設定啟動模式為singleTop保證它不會重複建立.
因為微信回呼的時候會調起一個新的activity:WXEntryActivity,所以必須設定透明樣式(不然會給用戶感知到啟動了一個新的activty),且在onResp方法裡finish掉WXEntryActivity
例如:
<!--非要设置成透明的才不会对用户造成困扰--> <activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent" android:label="@string/app_name" android:exported="true" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="sdksample"/> </intent-filter> </activity>
b. 實作IWXAPIEventHandler接口,微信發送的請求將回調到onReq方法,發送到微信請求的回應結果將回調到onResp方法
#c. 在WXEntryActivity中將接收到的intent及實作了IWXAPIEventHandler介面的物件傳遞給IWXAPI介面的handleIntent方法,會對應onResp方法
相關文章:
#相關影片:
以上是android微信登陸、分享做了一段時間了一些發現的坑的詳細內容。更多資訊請關注PHP中文網其他相關文章!