上一个项目失败了,android和ios也不知道啥时候被开,现在只能叫我们暂时给游戏那块做一个扫码登录,然后获取h5中的localstorage中的值,就相当于分享扫码 获取一个邀请码的功能是一样,
private void setting() {
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);// 打开本地缓存提供JS调用,至关重要
webview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);// 实现8倍缓存
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setAppCacheEnabled(true);
String appCachePath = getApplication().getCacheDir().getAbsolutePath();
webview.getSettings().setAppCachePath(appCachePath);
webview.getSettings().setDatabaseEnabled(true);
webview.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String js = "window.localStorage.getItem('kd_guid');";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
view.evaluateJavascript(js, new ValueCallback(){
@Override
public void onReceiveValue(Object value) {
Log.e(TAG,"VALUE--->"+value);
}
});
} else {
view.loadUrl("");//暂时不支持
view.reload();
}
}
});
}
当然一定是有webview.loadUrl(url地址);然后在onReceiveValue()回调方法中获取到值
注意:
String js = "window.localStorage.getItem('kd_guid');";这个kd_guid 字段是和服务端商量好的,不是随便写一个就行
Android WebView获取H5 localStorage数据
本文介绍如何在Android应用中使用WebView加载H5页面,并通过onReceiveValue()回调方法获取localStorage中的值,实现类似扫码登录和邀请码功能。
2038

被折叠的 条评论
为什么被折叠?



