关于微信的第三方登录

步骤:1,

    2,

  1. 在微信官网下载jar包,见附录 
  2. 加权限,
  3. 在微信那边填写的项目包名底下新建一个pack:wxapi
  4. 新建activity,继承自activity,并且在清单文件注册如下:
     <!--微信回调页面-->
            <activity android:name=".wxapi.WXEntryActivity"
                android:exported="true"/>
    该类的代码如下:
    public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
        private TextView tvLoginWechatInfo;
    
    
        private static final int TIMELINE_SUPPORTED_VERSION = 0x21020001;
    
        // IWXAPI 是第三方app和微信通信的openapi接口
        private IWXAPI api;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.l_activity_showwechatinfo);
            tvLoginWechatInfo = (TextView) findViewById(R.id.tv_login_wechatinfo);
            // 通过WXAPIFactory工厂,获取IWXAPI的实例
            api = WXAPIFactory.createWXAPI(this, WeChatConfig.getAppId(), false);
            api.handleIntent(getIntent(), this);
    
        }
    
        @Override
        protected void onNewIntent(Intent intent) {
            super.onNewIntent(intent);
    
            setIntent(intent);
            api.handleIntent(intent, this);
        }
    
        private void goToGetMsg() {
    //        Intent intent = new Intent(this, GetFromWXActivity.class);
    //        intent.putExtras(getIntent());
    //        startActivity(intent);
    //        finish();
        }
    
        private void goToShowMsg(ShowMessageFromWX.Req showReq) {
            WXMediaMessage wxMsg = showReq.message;
            WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject;
    
            StringBuffer msg = new StringBuffer(); // 组织一个待显示的消息内容
            msg.append("description: ");
            msg.append(wxMsg.description);
            msg.append("\n");
            msg.append("extInfo: ");
            msg.append(obj.extInfo);
            msg.append("\n");
            msg.append("filePath: ");
            msg.append(obj.filePath);
    //
    //        Intent intent = new Intent(this, ShowFromWXActivity.class);
    //        intent.putExtra(WeChatConfig.ShowMsgActivity.STitle, wxMsg.title);
    //        intent.putExtra(WeChatConfig.ShowMsgActivity.SMessage, msg.toString());
    //        intent.putExtra(WeChatConfig.ShowMsgActivity.BAThumbData, wxMsg.thumbData);
    //        startActivity(intent);
    //        finish();
        }
    
        @Override
        public void onReq(BaseReq baseReq) {
            LogUtil.e("---------------------this  is  onReq" + baseReq.getType() + "");
            switch (baseReq.getType()) {
                case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
                    goToGetMsg();
                    break;
                case ConstantsAPI.COMMAND_SHOWMESSAGE_FRO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值