日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信登录分享...报错...MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信登录分享...报错...MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這幾天開了個新項目....在做微信第三方登錄這一塊,都不知道寫過多少次了...想了想應該是信手捏來吧...隨便寫了下...點擊登錄...什么情況...為什么沒有登錄... ..

而且還卡在 WXEntryActivity界面上...報錯

MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message

而且 boolean result = api.handleIntent(getIntent(), this); 這個等于 false.... (= =!) boolean result = api.handleIntent(getIntent(), this);if (!result) {finish();}

到微信官方的文檔里...非常非常嚴格按照他來一遍...emmm還是不行....有毒吧...

看以前的項目的代碼研究研究...emmmm....沒多少差啊...以前項目能登錄...這個項目不能登錄...這難道是....上天不想讓我好過?

我得百度一下...尋找大家寶貴的意見...

結果發現....同樣案例并不多...而且解決方案都沒多少效果......

有人說...

api = WXAPIFactory.createWXAPI(this, Global.WX_APP_ID,false);? ? 這句話的false改為true...? ?試了幾百次? ? ?哈哈? ? ?沒效果...哈哈

api = WXAPIFactory.createWXAPI(this, null);? // 看微信官方Demo里面注冊微信的時候? 他竟然傳null...那我也試試...

哈哈? ? 不行

又有大佬花時間...分析微信的源碼試了試...弄出了曲線救國的方法

這里帶上大佬的鏈接...以便大家學習學習....https://blog.csdn.net/Livart_Corp/article/details/94354236

...試了下?

確實可以,安全登陸了.......但是曲線救國.....勉強解決了難關........卻也讓自己難以心安...所以趁著現在項目加需求....又能多出點開發時間...這就騰出手來.....又試著折騰....

這個得解決...因為項目太依賴微信登錄微信分享了....

順帶一提...曲線救國方案...分享可以分享..但是一樣報錯,進不去onResp(BaseResp resp)

boolean result = api.handleIntent(getIntent(), this); 這個還是等于 false.... (= =!)

這時候...我考慮過...會不會是包名問題...簽名問題...可是如果是這個問題的話...曲線救國的寫法為什么又成功登陸了...

所以這個問題否決掉....

否決掉不細心配置錯的問題...這時候? ? 我們只能試試...會不會是微信緩存問題...

用十幾只測試機試了幾下...emmm...結果一樣...全部卡在...MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message....不是緩存問題...這是代碼問題啊.....

那么...會不會是微信開放平臺上面填寫的數據有問題呢?? ? 我們試一下...改包名...對...改包名...給項目換包名...再簽名...再試試

結果一樣....哈哈哈...

說真的....不折騰真的不行...真的不行的時候? ? 有時候重寫一下? ?就可以了? ?你說可氣不可氣....

-----------------------最后的? ? ?解決過程----------------------

刪除wxapi整個包....再創建...再重寫WXEntryActivity這個類...? ? ? ?以下引用的是官方Demo里面的WXEntryActivity的代碼..方便給廣大兄弟們用來改造...

你們可以備份下當前wxapi包? ? ?然后刪除掉? ? ?再用下面這個

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private static String TAG = "MicroMsg.WXEntryActivity";private IWXAPI api;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.e(TAG, "解決微信問題...MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message.");api = WXAPIFactory.createWXAPI(this, APP_ID, false);Log.e(TAG, "解決微信問題...這里設置true還是false...都沒解決問題");try {boolean result = api.handleIntent(getIntent(), this);Log.e(TAG, "解決微信問題...這里是true還是false... result = " + result);if (!result) {Log.e(TAG, "解決微信問題...參數不合法,未被SDK處理,要退出"); //+ this.getPackageName()打印自己包名 確認下是不是填對了 // finish();}} catch (Exception e) {Log.e(TAG, "這個有點惡心...你要報什么錯 e = " + e.toString());e.printStackTrace();}Log.e(TAG, "onCreate 結束 ");}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq req) { // finish();}@Overridepublic void onResp(BaseResp resp) {int result = 0;Log.e(TAG, "進入 WXEntryActivity onResp 我們要的就是進入這里...以便我們做監聽啊 ");switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK: // result = R.string.errcode_success;break;case BaseResp.ErrCode.ERR_USER_CANCEL: // result = R.string.errcode_cancel;break;case BaseResp.ErrCode.ERR_AUTH_DENIED: // result = R.string.errcode_deny;break;case BaseResp.ErrCode.ERR_UNSUPPORT: // result = R.string.errcode_unsupported;break;default: // result = R.string.errcode_unknown;break;}// finish();} } <activityandroid:name=".wxapi.WXEntryActivity"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:exported="true"android:launchMode="singleTask"></activity>

最終也是成功喚起微信...也可以監聽onResp(BaseResp resp)....折騰了大半天...還不如重寫來的快...哭暈在廁所

廢話不多說....進行對比運行...傻瓜式操作.....

找到報錯的地方......就是onResp()方法....? ? ?用下面的代碼取締你的onResp...? ?? ? 再運行一次...你會發現...打印了進入...沒有MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message

沒有錯誤后.....再把對應功能寫上...

@Overridepublic void onResp(BaseResp resp) {Log.e(TAG, "進入 onResp");switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK:break;case BaseResp.ErrCode.ERR_USER_CANCEL:break;case BaseResp.ErrCode.ERR_AUTH_DENIED:break;case BaseResp.ErrCode.ERR_UNSUPPORT:break;default:break;}// finish();}

?

總結

以上是生活随笔為你收集整理的微信登录分享...报错...MicroMsg.SDK.WXApiImplV10: handleIntent fail, ex = println needs a message的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。