android.webkit.WebView#setWebChromeClient ( )源码实例Demo

下面列出了android.webkit.WebView#setWebChromeClient ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private void setClient(WebView web) {

        web.setWebChromeClient(new WebChromeClient() {
        });

        // 如果要自动唤起自定义的scheme,不能设置WebViewClient,
        // 否则,需要在shouldOverrideUrlLoading中自行处理自定义scheme
        // webView.setWebViewClient();
        web.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

        });
    }
 
源代码2 项目: rides-android-sdk   文件: RideRequestView.java
/**
 * Initialize the layout, properties, and inner web view.
 */
private void init(@NonNull Context context) {
    inflate(getContext(), R.layout.ub__ride_request_view, this);
    webView = (WebView) findViewById(R.id.ub__ride_request_webview);

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setGeolocationEnabled(true);
    webView.getSettings().setAppCacheEnabled(true);
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    webView.setWebChromeClient(new RideRequestWebChromeClient());
    webView.setWebViewClient(new RideRequestWebViewClient(new RideRequestWebViewClientCallback() {
        @Override
        public void onErrorParsed(@NonNull RideRequestViewError error) {
            if (rideRequestViewCallback != null) {
                rideRequestViewCallback.onErrorReceived(error);
            }
        }
    }));
}
 
源代码3 项目: android-discourse   文件: Utils.java
@SuppressLint("SetJavaScriptEnabled")
public static void displayArticle(WebView webView, Article article, Context context) {
    String styles = "iframe, img { width: 100%; }";
    if (isDarkTheme(context)) {
        webView.setBackgroundColor(Color.BLACK);
        styles += "body { background-color: #000000; color: #F6F6F6; } a { color: #0099FF; }";
    }
    String html = String.format("<html><head><meta charset=\"utf-8\"><link rel=\"stylesheet\" type=\"text/css\" href=\"http://cdn.uservoice.com/stylesheets/vendor/typeset.css\"/><style>%s</style></head><body class=\"typeset\" style=\"font-family: sans-serif; margin: 1em\"><h3>%s</h3>%s</body></html>", styles, article.getTitle(), article.getHtml());
    webView.setWebChromeClient(new WebChromeClient());
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.loadUrl(String.format("data:text/html;charset=utf-8,%s", Uri.encode(html)));
}
 
源代码4 项目: LRecyclerView   文件: WebViewActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_webview);


    final PullScrollView refreshLayout = (PullScrollView) findViewById(R.id.refresh_layout);
    final WebView webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebChromeClient(new WebChromeClient());
    webView.setWebViewClient(new WebViewClient());
    //设置头部加载颜色
    refreshLayout.setHeaderViewColor(R.color.colorAccent, R.color.dark ,android.R.color.white);
    refreshLayout.setRefreshProgressStyle(ProgressStyle.LineSpinFadeLoader);
    refreshLayout.setRefreshListener(new PullScrollView.RefreshListener() {
        @Override
        public void onRefresh() {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    webView.loadUrl("http://www.stay4it.com");
                    refreshLayout.setRefreshCompleted();
                }
            }, 1000);
        }
    });

    refreshLayout.refreshWithPull();
}
 
源代码5 项目: Study_Android_Demo   文件: ContentFragment.java
private void setupView(View view) {
    webView = (WebView) view.findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    //监听
    //没有该监听,app没有什么问题
    webView.setWebChromeClient(new WebChromeClient());
    //没有该监听,app空白。还直接跳到手机浏览器访问你要访问的地址
    webView.setWebViewClient(new WebViewClient());
}
 
源代码6 项目: EhViewer   文件: UConfigActivity.java
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  // http://stackoverflow.com/questions/32284642/how-to-handle-an-uncatched-exception
  CookieManager cookieManager = CookieManager.getInstance();
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    cookieManager.flush();
    cookieManager.removeAllCookies(null);
    cookieManager.removeSessionCookies(null);
  } else {
    CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
    cookieSyncManager.startSync();
    cookieManager.removeAllCookie();
    cookieManager.removeSessionCookie();
    cookieSyncManager.stopSync();
  }

  // Copy cookies from okhttp cookie store to CookieManager
  url = EhUrl.getUConfigUrl();
  EhCookieStore store = EhApplication.getEhCookieStore(this);
  for (Cookie cookie : store.getCookies(HttpUrl.parse(url))) {
    cookieManager.setCookie(url, cookie.toString());
  }

  setContentView(R.layout.activity_u_config);
  setNavigationIcon(R.drawable.v_arrow_left_dark_x24);
  webView = (WebView) findViewById(R.id.webview);
  webView.getSettings().setJavaScriptEnabled(true);
  webView.setWebViewClient(new UConfigWebViewClient());
  webView.setWebChromeClient(new DialogWebChromeClient(this));
  webView.loadUrl(url);
  progress = (ProgressView) findViewById(R.id.progress);

  Snackbar.make(webView, R.string.apply_tip, Snackbar.LENGTH_LONG).show();
}
 
源代码7 项目: Pas   文件: WebViewActivity.java
private void initWebView() {

        url = getIntent().getStringExtra(URL);

        webView = new WebView(getApplicationContext());

        iView.rlMain.addView(webView);


        blockLoadingNetworkImage = true;

        webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
        webView.getSettings().setBlockNetworkImage(true);

        webView.setWebViewClient(new webViewClient());

        //如果访问的页面中有Javascript,则webview必须设置支持Javascript
        webView.setWebChromeClient(
                new WebChromeClient() {
                    @Override
                    public void onProgressChanged(WebView view, int newProgress) {
                        super.onProgressChanged(view, newProgress);
                        if (newProgress == 100) {
                            iView.flLoading.setVisibility(View.GONE);

                            if (blockLoadingNetworkImage) {
                                webView.getSettings().setBlockNetworkImage(false);
                                blockLoadingNetworkImage = false;
                            }
                        }
                    }
                });

        webView.loadUrl(url);
    }
 
源代码8 项目: Rabbits   文件: WebFragment.java
@SuppressLint("SetJavaScriptEnabled")
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mWebView = (WebView) LayoutInflater.from(getActivity()).inflate(R.layout.fragment_web, container, false);
    mWebView.setWebViewClient(new DefaultWebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setUseWideViewPort(false);
    mWebView.getSettings().setJavaScriptEnabled(true);
    return mWebView;
}
 
源代码9 项目: Android_framework   文件: WebFragment.java
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void initView() {
    webView = (WebView) mViewContainer;
    webView.setWebViewClient(webViewClient);
    webView.setWebChromeClient(chromeClient);

    WebSettings settings = webView.getSettings();
    //设置网页大小自适应
    settings.setUseWideViewPort(true);
    settings.setLoadWithOverviewMode(true);
    //支持js
    settings.setJavaScriptEnabled(true);
}
 
源代码10 项目: augmentedreality   文件: Instructions.java
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.instructions_layout);
	mWebView = (WebView) findViewById(R.id.instructions_webview);
	
	WebSettings webSettings = mWebView.getSettings();
       webSettings.setSupportZoom(true);
       webSettings.setBuiltInZoomControls(true);
       
       WebChromeClient client = new WebChromeClient();
       mWebView.setWebChromeClient(client);
               
	mWebView.loadUrl("file:///android_asset/help/"+getResources().getString(R.string.help_file));
}
 
@SuppressLint("SetJavaScriptEnabled")
private void bindView() {
    // Toolbar
    mTvTitle = (TextView) findViewById(R.id.toolbar_tv_title);
    mTvUrl = (TextView) findViewById(R.id.toolbar_tv_url);
    findViewById(R.id.toolbar_root).setBackgroundColor(getIntent().getIntExtra(EXTRA_COLOR, Color.BLACK));

    mCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.a_web_viewer_coordinatorlayout);
    mProgressBar = (ProgressBar) findViewById(R.id.a_web_viewer_pb);
    mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.a_web_viewer_srl);
    mWebView = (WebView) findViewById(R.id.a_web_viewer_wv);
    mSwipeRefreshLayout.setOnRefreshListener(this);

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        webSettings.setDisplayZoomControls(false);
    }
    webSettings.setBuiltInZoomControls(true);
    webSettings.setSupportZoom(true);
    webSettings.setDomStorageEnabled(true);

    mWebView.setWebChromeClient(new MyWebChromeClient());
    mWebView.setWebViewClient(new MyWebViewClient());
    mWebView.setDownloadListener(this);
    mWebView.setOnCreateContextMenuListener(this);

    mBtnMore = (AppCompatImageButton) findViewById(R.id.toolbar_btn_more);

    //noinspection ConstantConditions
    findViewById(R.id.toolbar_btn_close).setOnClickListener(this);
    //noinspection ConstantConditions
    mBtnMore.setOnClickListener(this);

    // PopupWindow
    initPopupMenu();
}
 
源代码12 项目: chromium-webview-samples   文件: MainActivity.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main, container, false);
    mWebRTCWebView = (WebView) rootView.findViewById(R.id.fragment_main_webview);

    setUpWebViewDefaults(mWebRTCWebView);

    mWebRTCWebView.loadUrl("https://apprtc-m.appspot.com/");

    mWebRTCWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onPermissionRequest(final PermissionRequest request) {
            Log.d(TAG, "onPermissionRequest");
            getActivity().runOnUiThread(new Runnable() {
                @TargetApi(Build.VERSION_CODES.L)
                @Override
                public void run() {
                    if(request.getOrigin().toString().equals("https://apprtc-m.appspot.com/")) {
                        request.grant(request.getResources());
                    } else {
                        request.deny();
                    }
                }
            });
        }

    });

    return rootView;
}
 
源代码13 项目: gank   文件: WebViewPresenter.java
public void setWebViewSettings(WebView webView, String url) {
    WebSettings settings = webView.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setLoadWithOverviewMode(true);
    settings.setAppCacheEnabled(true);
    settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    settings.setSupportZoom(true);
    webView.setWebChromeClient(new ChromeClient());
    webView.setWebViewClient(new GankClient());
    webView.loadUrl(url);
}
 
源代码14 项目: VyAPI   文件: ViewWebsiteFragment.java
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.view_website_fragment,container,false);
        wv_personal_website = (WebView) view.findViewById(R.id.wv_personal_website);

        Bundle bundle = getArguments();
        String URL = bundle.getString("URL");

        // Check if URL begins with http
        if (!URL.matches("^(http|https)://.*$")){
            URL = "http://" + URL;
        }

        wv_personal_website.setWebViewClient(new WebViewClient());
        webSettings = wv_personal_website.getSettings();
        webSettings.setJavaScriptEnabled(true);
        wv_personal_website.setWebChromeClient(new WebChromeClient());

//        wv_personal_website.getSettings().setJavaScriptEnabled(true);
//        wv_personal_website.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
//        wv_personal_website.canGoBack();
//        wv_personal_website.goBack();

        // If URL is valid, open it
        if (URLUtil.isValidUrl(URL)){
            wv_personal_website.loadUrl(URL);
        }
        // If URL is invalid
        else {
            // Show a custom display_data_from_db webpage
            String htmlData ="<html><body><div align=\"center\" ><h2> Error loading URL: </h2><p>The link you are trying to access seems to be invalid. Please correct the URL and try again. </p><span style=\"color:red\"><h3><br/>" + URL + "</h3></span></div></body>";

            wv_personal_website.loadUrl("about:blank");
            wv_personal_website.loadDataWithBaseURL(null,htmlData, "text/html", "UTF-8",null);
            wv_personal_website.invalidate();
        }

        wv_personal_website.setWebViewClient(new WebViewClient());

        return view;
    }
 
源代码15 项目: Gank.io   文件: WebVideoPresenter.java
public void loadWebVideo(WebView webView, String url) {
  webView.setWebChromeClient(new Chrome());
  webView.loadUrl(url);
}
 
源代码16 项目: DeviceConnect-Android   文件: WebViewActivity.java
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web_view);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

    Intent intent = getIntent();
    if (intent == null) {
        finish();
        return;
    }

    String url = intent.getStringExtra(EXTRA_URL);
    if (url == null) {
        finish();
        return;
    }

    String title = intent.getStringExtra(EXTRA_TITLE);
    if (title != null) {
        setTitle(title);
    }

    boolean ssl = intent.getBooleanExtra(EXTRA_SSL, false);
    mSSL = ssl ? SSL_ON : SSL_OFF;

    mWebView = (WebView) findViewById(R.id.activity_web_view);
    if (mWebView != null) {
        mWebView.setWebViewClient(mWebViewClient);
        mWebView.setWebChromeClient(mChromeClient);
        mWebView.setVerticalScrollBarEnabled(false);
        mWebView.setHorizontalScrollBarEnabled(false);
        mWebView.addJavascriptInterface(new JavaScriptInterface(), "Android");

        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setDatabaseEnabled(true);
        webSettings.setAllowFileAccess(true);
        webSettings.setAppCacheEnabled(false);
        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);

        // Android 4.0以上では、chromeからデバッグするための機能が存在する
        // ここでは、DEBUGビルドの場合のみ使えるように設定している。
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            if (DEBUG) {
                if (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)) {
                    WebView.setWebContentsDebuggingEnabled(true);
                }
            }
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            webSettings.setAllowFileAccessFromFileURLs(true);
            webSettings.setAllowUniversalAccessFromFileURLs(true);
        }

        loadUrl(mWebView, url);
    }
}
 
源代码17 项目: Android-PullToNextLayout   文件: WebViewFragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment

    index=  getArguments().getInt("index");

    View   v= inflater.inflate(R.layout.fragment_web_view, container, false);

    webView= (WebView) v.findViewById(R.id.webView);

    String[]  urls=getResources().getStringArray(R.array.urls);

    webView.loadUrl(urls[index]);
    webView.setWebChromeClient(new WebChromeClient());

    return  v;
}
 
源代码18 项目: aptoide-client   文件: WebViewFacebook.java
@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//Aptoide.getThemePicker().setAptoideTheme(this);
		setContentView(R.layout.webview_social);

		Bundle parameters = new Bundle();
//		parameters.putString("client_id", APP_ID);
		parameters.putString("type", "user_agent");
		parameters.putString("redirect_uri", REDIRECT_URI);
		url = OAUTH_ENDPOINT + "?" + encodeUrl(parameters);
//		Log.d(this.getClass().getName(), "url: " + url);

		waitingText = (TextView) findViewById(R.id.waiting_text);
		waitingProgress = (ProgressBar) findViewById(R.id.waiting_bar);

		webView = (WebView) findViewById(R.id.webview);
		webView.getSettings().setJavaScriptEnabled(true);
		webView.setVerticalScrollBarEnabled(false);
		webView.setHorizontalScrollBarEnabled(false);
		webView.setWebViewClient(new FbWebViewClient());

		webView.setWebChromeClient(new WebChromeClient() {
			public void onProgressChanged(WebView view, int progress) {
				setProgress(progress * 100);

				if (progress == 100) {
					waitingText.setVisibility(View.GONE);
					waitingProgress.setVisibility(View.GONE);
				}
			}
		});

		webView.loadUrl(url);

		System.out.println("Debug: WebViewActionBar: " + getSupportActionBar());

		Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
		mToolbar.setCollapsible(false);

		setSupportActionBar(mToolbar);

		if (getSupportActionBar() != null) {
			getSupportActionBar().setTitle("");
			getSupportActionBar().setHomeButtonEnabled(true);
			getSupportActionBar().setDisplayHomeAsUpEnabled(true);
		}

    }
 
源代码19 项目: letv   文件: MobclickAgentJSInterface.java
public MobclickAgentJSInterface(Context context, WebView webView, WebChromeClient webChromeClient) {
    this.a = context;
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebChromeClient(new a(this, webChromeClient));
}
 
源代码20 项目: android-atleap   文件: AuthActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);

    super.onCreate(savedInstanceState);

    if(TextUtils.isEmpty(getString(R.string.github_oauth_client_id)) || TextUtils.isEmpty(getString(R.string.github_oauth_client_secret))) {
        throw new IllegalStateException("Please specify github_oauth_client_id and github_oauth_client_secret in file ./src/main/res/values/settings.xml");
    }


    setContentView(R.layout.activity_auth);

    mWebView = (WebView)findViewById(R.id.web_view);



    mWebView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            AuthActivity.this.setProgress(newProgress * 1000);
        }
    });

    mWebView.setWebViewClient(new AuthWebViewClient());

    CookieSyncManager.createInstance(this);

    mState = UUID.randomUUID().toString();


    mFullAuthorizeUrl = Uri.parse(AUTHORIZE_URL).buildUpon()
            .appendQueryParameter("client_id", getString(R.string.github_oauth_client_id))
            .appendQueryParameter("redirect_uri", getString(R.string.github_oauth_client_callback_url))
            .appendQueryParameter("scope", getString(R.string.github_oauth_scope))
            .appendQueryParameter("state", mState)
            .build()
            .toString();


    Log.v(TAG, "Staring authorization page");
    mWebView.loadUrl(mFullAuthorizeUrl);
}