我们希望实现这样的一个场景,当前账号已经在手机系统登录,然后我用手机自带的浏览器,登录手机的官网(比如华为手机的官网),这时候我不希望用户在浏览器里面再次登录。
要实现这个功能,需要服务端和客户端配合。
服务端:
服务端在下发的H5页面的Response 头里面,需要增加一个头:
x-auto-login :xxx.com
后面是登录之后返回的网址。
当有这个请求头的时候,Android WebView 会收到一个回调:
private class CommonWebViewClient extends WebViewClient implements CommonWebView.CustomWebViewClient {
private String mFinalUrl;
@SuppressLint("CheckResult")
@Override
public void onReceivedLoginRequest(WebView view, String realm, String account, String args) {
}
在这个回调里面,你拿着x-auto-login的头数据的url,去做一些事情,实现登录。