上一个项目失败了,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 字段是和服务端商量好的,不是随便写一个就行