Java Code Examples for com.tencent.smtt.sdk.WebSettings#setDefaultTextEncodingName()

The following examples show how to use com.tencent.smtt.sdk.WebSettings#setDefaultTextEncodingName() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: WrapperWebView.java    From AndroidHybridLib with Apache License 2.0 6 votes vote down vote up
private void initWebViewSettings() {
    WebSettings ws = mWebView.getSettings();
    ws.setDefaultTextEncodingName("utf-8");
    ws.setJavaScriptEnabled(true);
    ws.setPluginsEnabled(true);
    ws.setDomStorageEnabled(true);
    ws.setRenderPriority(com.tencent.smtt.sdk.WebSettings.RenderPriority.HIGH);
    ws.setAllowFileAccess(true);
    ws.setAllowContentAccess(true);
    ws.setAppCacheEnabled(false);
    ws.setCacheMode(com.tencent.smtt.sdk.WebSettings.LOAD_NO_CACHE);
    ws.setSaveFormData(true);
    ws.setJavaScriptCanOpenWindowsAutomatically(true);
    ws.setLoadsImagesAutomatically(true);
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        ws.setAllowFileAccessFromFileURLs(true);
        ws.setAllowUniversalAccessFromFileURLs(true);
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        mWebView.setWebContentsDebuggingEnabled(true);
    }
}
 
Example 2
Source File: CrazyDailyWebView.java    From CrazyDaily with Apache License 2.0 4 votes vote down vote up
@SuppressWarnings("all")
private void init(Context context) {
    WebSettings setttings = getSettings();
    setttings.setJavaScriptEnabled(true);//打开js
    setttings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//设置布局
    setttings.setDomStorageEnabled(true);//打开Dom Storage
    setttings.setDatabaseEnabled(true);//打开Database
    setttings.setAppCacheEnabled(true);//打开App Cache
    setttings.setAppCacheMaxSize(Long.MAX_VALUE);
    File cacheDir = new File(context.getExternalCacheDir(), CacheConstant.CACHE_DIR_WEB);
    if (!cacheDir.exists()) {
        cacheDir.mkdirs();
    }
    setttings.setAppCachePath(cacheDir.getAbsolutePath());//设置App Cache缓存目录
    setttings.setSupportMultipleWindows(false);//不支持多窗口
    setttings.setJavaScriptCanOpenWindowsAutomatically(true);//支持js打开新窗口
    setttings.setAllowFileAccess(true);//启用WebView访问文件数据
    setttings.setSupportZoom(true);//支持缩放
    setttings.setDisplayZoomControls(false);//隐藏webview缩放按钮
    setttings.setBuiltInZoomControls(true);//支持手势缩放
    setttings.setLoadWithOverviewMode(true);//缩放至屏幕大小
    setttings.setUseWideViewPort(true);//调整屏幕自适应
    setttings.setDefaultTextEncodingName("utf-8");//设置编码格式为utf-8
    setttings.setLoadsImagesAutomatically(true);//支持自动加载图片
    setttings.setSavePassword(false);//禁止密码保存在本地
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // https中支持访问http
        setttings.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // 支持第三方的cookie同步
        CookieManager.getInstance().setAcceptThirdPartyCookies(this, true);
    }
    String ua = setttings.getUserAgentString();
    setttings.setUserAgentString(String.format("%s CrazyDaily %s", ua, DeviceUtil.getVersionName()));//重置ua
    setWebViewClient(new CrazyDailyWebViewClient());
    setWebChromeClient(new CrazyDailyWebChromeClient());
    setDownloadListener(new DownloadListener() {
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long contentLength) {
            if (mDownloadCallback != null) {
                mDownloadCallback.onDownload(url, contentLength);
            }
        }
    });
}
 
Example 3
Source File: X5WebView.java    From YCWebView with Apache License 2.0 4 votes vote down vote up
/**
 * 做一些公共的初始化操作
 */
private void initWebViewSettings() {
    WebSettings ws = this.getSettings();
    // 网页内容的宽度是否可大于WebView控件的宽度
    ws.setLoadWithOverviewMode(false);
    // 保存表单数据
    ws.setSaveFormData(true);
    // 是否应该支持使用其屏幕缩放控件和手势缩放
    ws.setSupportZoom(true);
    // 设置内置的缩放控件。若为false,则该WebView不可缩放
    ws.setBuiltInZoomControls(true);
    // 隐藏原生的缩放控件
    ws.setDisplayZoomControls(false);
    // 启动应用缓存
    ws.setAppCacheEnabled(true);
    // 设置缓存模式
    // 缓存模式如下:
    // LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据
    // LOAD_DEFAULT: (默认)根据cache-control决定是否从网络上取数据。
    // LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.
    // LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。
    ws.setCacheMode(WebSettings.LOAD_DEFAULT);
    ws.setAppCacheMaxSize(Long.MAX_VALUE);
    // setDefaultZoom  api19被弃用
    // 设置此属性,可任意比例缩放。
    ws.setUseWideViewPort(true);
    // 告诉WebView启用JavaScript执行。默认的是false。
    // 注意:这个很重要   如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
    ws.setJavaScriptEnabled(true);
    //  页面加载好以后,再放开图片
    //ws.setBlockNetworkImage(false);
    // 使用localStorage则必须打开
    ws.setDomStorageEnabled(true);
    //防止中文乱码
    ws.setDefaultTextEncodingName("UTF-8");
    /*
     * 排版适应屏幕
     * 用WebView显示图片,可使用这个参数
     * 设置网页布局类型: 1、LayoutAlgorithm.NARROW_COLUMNS :
     * 适应内容大小 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
     */
    ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    // WebView是否新窗口打开(加了后可能打不开网页)
    //ws.setSupportMultipleWindows(true);
    // webview从5.0开始默认不允许混合模式,https中不能加载http资源,需要设置开启。
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ws.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }
    //设置字体默认缩放大小
    ws.setTextZoom(100);
    // 不缩放
    this.setInitialScale(100);
    if(Build.VERSION.SDK_INT >= KITKAT) {
        //设置网页在加载的时候暂时不加载图片
        ws.setLoadsImagesAutomatically(true);
    } else {
        ws.setLoadsImagesAutomatically(false);
    }
    //默认关闭硬件加速
    setOpenLayerType(false);
    //默认不开启密码保存功能
    setSavePassword(false);
    //移除高危风险js监听
    setRemoveJavascriptInterface();
}
 
Example 4
Source File: X5WvWebView.java    From YCWebView with Apache License 2.0 4 votes vote down vote up
/**
 * 做一些公共的初始化操作
 */
private void initWebViewSettings() {
    WebSettings ws = this.getSettings();
    // 网页内容的宽度是否可大于WebView控件的宽度
    ws.setLoadWithOverviewMode(false);
    // 保存表单数据
    ws.setSaveFormData(true);
    // 是否应该支持使用其屏幕缩放控件和手势缩放
    ws.setSupportZoom(true);
    // 设置内置的缩放控件。若为false,则该WebView不可缩放
    ws.setBuiltInZoomControls(true);
    // 隐藏原生的缩放控件
    ws.setDisplayZoomControls(false);
    // 启动应用缓存
    ws.setAppCacheEnabled(true);
    // 设置缓存模式
    // 缓存模式如下:
    // LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据
    // LOAD_DEFAULT: (默认)根据cache-control决定是否从网络上取数据。
    // LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.
    // LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。
    ws.setCacheMode(WebSettings.LOAD_DEFAULT);
    ws.setAppCacheMaxSize(Long.MAX_VALUE);
    // setDefaultZoom  api19被弃用
    // 设置此属性,可任意比例缩放。
    ws.setUseWideViewPort(true);
    // 告诉WebView启用JavaScript执行。默认的是false。
    // 注意:这个很重要   如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
    ws.setJavaScriptEnabled(true);
    //  页面加载好以后,再放开图片
    //ws.setBlockNetworkImage(false);
    // 使用localStorage则必须打开
    ws.setDomStorageEnabled(true);
    //防止中文乱码
    ws.setDefaultTextEncodingName("UTF -8");
    /*
     * 排版适应屏幕
     * 用WebView显示图片,可使用这个参数
     * 设置网页布局类型: 1、LayoutAlgorithm.NARROW_COLUMNS :
     * 适应内容大小 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
     */
    ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    // WebView是否新窗口打开(加了后可能打不开网页)
    //ws.setSupportMultipleWindows(true);
    // webview从5.0开始默认不允许混合模式,https中不能加载http资源,需要设置开启。
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ws.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }
    //设置字体默认缩放大小
    ws.setTextZoom(100);
    // 不缩放
    this.setInitialScale(100);
    if(Build.VERSION.SDK_INT >= KITKAT) {
        //设置网页在加载的时候暂时不加载图片
        ws.setLoadsImagesAutomatically(true);
    } else {
        ws.setLoadsImagesAutomatically(false);
    }
    //默认关闭硬件加速
    setOpenLayerType(false);
    //默认不开启密码保存功能
    setSavePassword(false);
}