集成的詳細步驟請參考:https://blog.csdn.net/qq_40803752/article/details/78616477
先說一下我遇到的問題,我是集成微信登錄,微信客戶端拉起來了也授權了,但是返回要應用的時候不回調WXEntryActivity中的onReq和onResp方法。
我的問題是在WXEntryActivity中沒有加入這句話:
api.handleIntent(getIntent(), this);
詳細代碼:
public class WXEntryActivity extends Activity implements IWXAPIEventHandler { private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 通過WXAPIFactory工廠,獲取IWXAPI的實例 api = WXAPIFactory.createWXAPI(this,"wx68419cafec22c652",true); // 將應用的appId註冊到微信 api.registerApp("wx68419cafec22c652"); api.handleIntent(getIntent(), this); } @Override public void onReq(BaseReq baseReq) { System.out.println("-----onReq:"+baseReq.toString()); System.out.println("-----onReq:"+baseReq.toString()); } @Override public void onResp(BaseResp baseResp) { System.out.println("-----onResp:"+baseResp.toString()); System.out.println("-----onResp:"+baseResp.toString()); } }
我的問題通過以上方式解決了,在這個過程中我還嘗試了很多其他方法,
如:
第一種:
<activity android:name=".wxapi.WXEntryActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="true" android:taskAffinity="com.damibaby" android:launchMode="singleTask"> </activity>
在清單文件中配置微信的activity時,要加入android:exported="true"這句話
第二種:
這個wxapi目錄要對上,在你註冊微信appid時候的包名下,比如你註冊的包名是com.haha 那這個wxapi就應該在com.haha下