Android H5调用友盟原生登陆

微信登陆

 @JavascriptInterface
    public void wxloginapp(String name) {
        UMShareAPI.get(context).getPlatformInfo(context, SHARE_MEDIA.WEIXIN, authListener);
    }

QQ登录

 @JavascriptInterface
    public void qqloginapp(String name) {
        UMShareAPI.get(context).getPlatformInfo(context, SHARE_MEDIA.QQ, authListener);
    }

获取数据,成功,失败

 private UMAuthListener authListener = new UMAuthListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {
            SocializeUtils.safeShowDialog(dialog);
        }


        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
            SocializeUtils.safeCloseDialog(dialog);
           if (platform==SHARE_MEDIA.QQ){
               Log.d("asd",data.toString());
//               webView.loadUrl("javascript:qqloginappdo('" + data.toString() + "')");
               try {
                               JSONObject jsonObject = new JSONObject(data);
                               final JSONObject jsonObject2 = new JSONObject();
                               jsonObject2.put("uid", jsonObject.getString("uid"));
                               jsonObject2.put("name", jsonObject.getString("name"));
                               jsonObject2.put("iconurl", jsonObject.getString("iconurl"));
                               jsonObject2.put("gender", jsonObject.getString("gender"));
                               context.runOnUiThread(new Runnable() {
                                   @Override
                                   public void run() {
                                       webView.loadUrl("javascript:qqloginappdo('" + jsonObject2.toString() + "')");

                                   }
                               });
               } catch (JSONException e) {
                         e.printStackTrace();
                          }
           }else {
               Log.d("asd",data.toString());
//               webView.loadUrl("javascript:wxloginappdo('" + data.toString() + "')");
               try {
                   JSONObject jsonObject = new JSONObject(data);
                   final JSONObject jsonObject2 = new JSONObject();
                   jsonObject2.put("uid", jsonObject.getString("uid"));
                   jsonObject2.put("name", jsonObject.getString("name"));
                   jsonObject2.put("iconurl", jsonObject.getString("iconurl"));
                   jsonObject2.put("gender", jsonObject.getString("gender"));
                   context.runOnUiThread(new Runnable() {
                       @Override
                       public void run() {
                           webView.loadUrl("javascript:wxloginappdo('" + jsonObject2.toString() + "')");

                       }
                   });
               } catch (JSONException e) {
                   e.printStackTrace();
               }
           }
        }

        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
            SocializeUtils.safeCloseDialog(dialog);
        }

        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {
            SocializeUtils.safeCloseDialog(dialog);
        }
    };

到这我已经把结果回调给H5了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值