在配置文件中添加微信SDK
api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
在AndroidManifest.xml的manifest节点下添加以下配置,以防止与Android11兼容的微信打开
启动queriespackageandroid 3360 name=' com.Tencent.mm '//queries2. we chat许可证页面
IWXAPI api;
string appid=“填写appid”
API=wxapifactory.createwxapi (activity,appid,true);
//在微信上注册APP的appId
API.registerapp(appid;
send auth.req req=http://www.Sina.com/send auth.req (;
req.http://www.Sina.com/=http://www.Sina.com /;
req.http://www.Sina.com/=http://www.Sina.com /;
API.sendreq(req;
3 .单击“同意”后,要接收微信回复的code,需要通过code获取token和用户信息
用包名记录新文件夹wxapi,并在wxapi文件夹中创建WXEntryActivity.java文件4.WXEntryActivity.java类代码
publicclasswxentryactivityextendsactivityimplementsiwxapieventhandler { privateiwxapiapi; private static String APP_ID; @ overrideprotectedvoidoncreate (nullablebundlesavedinstancestate ) super.oncreate ) savedinstancestate; app_id='appid '; 通过WXAPIFactory工厂获取IWXAPI的实例API=wxapifactory.createwxapi (this,APP_ID,true ); //在微信atapi.register app (app _ id )中注册APP的appId的try { Intent intent=getIntent (; API.Handleintent(intent,this ); }catch(exceptione ) { e.printStackTrace ); } @ overrideprotectedvoidonnewintent (intent intent ) ) super.onnewintent; setintent(intent ); 调用handleIntent并接收数据时,将自动执行onResp方法。 在onResp中获取所需的codeapi.handleintent(intent,this )。 } @ overridepublicvoidonreq (basereqbasereq ) { finish; } @登录overridepublicvoidonresp (base resp )//wechat并接收返回的codeif ) baseresp.gettype )==1) sendauth.respres finish (; } }
5 .获取代码后
可以将值存储在静态变量中,并在返回activity的onResume方法中处理业务逻辑。 例如,传递code并将其发送到后台,在后台检索token和用户数据