安卓APP嵌入Tableau
在安卓中使用Webview调用tableau的视图,因为是跨域、http和https混合,因此出现了很多坑,列在下面:1、跨域、http和https问题webView = (WebView) findViewById(R.id.webView);WebSettings webSettings = webView.getSettings();webSet...
·
在安卓中使用Webview调用tableau的视图,因为是跨域、http和https混合,因此出现了很多坑,列在下面:
1、跨域、http和https问题
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
允许使用js--使用DOM缓存--允许跨域--跨域混合模式
2、调用报表,出现登录界面
需要允许Webview使用第三方Cookies
引用:
import android.webkit.CookieManager;
代码:
CookieManager.getInstance().setAcceptCookie(true);
if (android.os.Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
} else {
CookieManager.getInstance().setAcceptCookie(true);
}
然后调用Webview,访问网页就可以了。
webView.setWebViewClient(new WebViewClient());
//https://www.bizinsight.com.cn/openDocument.jsp?reportID=
String url = Url.OPEN_DOCUMENT + "?reportID=" + getIntent().getStringExtra("report_id");
webView.loadUrl(url);
更多推荐
所有评论(0)