@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_story_webview); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); final Item item = (Item) getIntent().getSerializableExtra("item"); WebView webView = new WebView(this); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); setContentView(webView); webView.loadUrl(item.getUrl()); }
public QuotedMessageMvpView(MessageCompose messageCompose) { mQuotedTextShow = (Button) messageCompose.findViewById(R.id.quoted_text_show); mQuotedTextBar = messageCompose.findViewById(R.id.quoted_text_bar); mQuotedTextEdit = (ImageButton) messageCompose.findViewById(R.id.quoted_text_edit); mQuotedTextDelete = (ImageButton) messageCompose.findViewById(R.id.quoted_text_delete); mQuotedText = (EolConvertingEditText) messageCompose.findViewById(R.id.quoted_text); mQuotedText.getInputExtras(true).putBoolean("allowEmoji", true); mQuotedHTML = (MessageWebView) messageCompose.findViewById(R.id.quoted_html); mQuotedHTML.configure(); // Disable the ability to click links in the quoted HTML page. I think this is a nice feature, but if someone // feels this should be a preference (or should go away all together), I'm ok with that too. -achen 20101130 mQuotedHTML.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return true; } }); mMessageContentView = (EolConvertingEditText) messageCompose.findViewById(R.id.message_content); }
private void setWebView() { WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true);//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小 webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小 webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。 webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放 webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件 webSettings.setAllowFileAccess(true); //设置可以访问文件 webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片 webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式 webSettings.setDomStorageEnabled(true); mWebView.setWebViewClient(new WebViewClient()); }
private WebViewClient createWebViewClient() { return new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.contains(TimeLinePatterns.WEB_SCHEME) || url.contains("https://")) { view.loadUrl(url); } else if (!BooheeScheme.handleUrl(HardwareIntroActivity.this, url)) { Uri uri = Uri.parse(url); if (uri != null) { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.setData(uri); HardwareIntroActivity.this.startActivity(intent); } } return true; } }; }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.layout_web, container, false); WebView w = (WebView) v.findViewById(R.id.webView); w.loadUrl("http://p.codekk.com/"); w.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); return v; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reg); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); actionBar=getSupportActionBar(); actionBar.setTitle("Register"); Bundle bundle=this.getIntent().getExtras(); url=bundle.getString("url"); webView = (WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl(url); }
@Override @SuppressLint("SetJavaScriptEnabled") protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_privacy_policy); final WebView privacyPolicyWebView = (WebView)findViewById(R.id.privacypolicy); privacyPolicyWebView.setVisibility(View.VISIBLE); privacyPolicyWebView.getSettings().setJavaScriptEnabled(true); privacyPolicyWebView.getSettings().setRenderPriority(RenderPriority.HIGH); privacyPolicyWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); privacyPolicyWebView.setWebViewClient(new WebViewClient() { }); privacyPolicyWebView.resumeTimers(); privacyPolicyWebView.loadUrl("http://www.soasta.com/privacy-policy"); }
public void load(final String fileName) { // Set WebView client WebViewClient loadFinishedClient = new WebViewClient() { public void onPageFinished(WebView view, String url) { // Set platform to android JSONObject evt = new JSONObject(); try { evt.put("name", "android"); } catch (JSONException e) { WonderLog.logError(e); } initPlatformSetting(evt.toString()); } }; setWebViewClient(loadFinishedClient); // Load content from URL loadUrl(fileName); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wv_test = (WebView)findViewById(R.id.wv_test) ; wv_test.getSettings().setJavaScriptEnabled(true); /* "JSInterface" ==> window.JSInterface * class JSInterface all @javascriptInterface methods * js can call JSInterface.method()*/ wv_test.addJavascriptInterface(new JSInterface(MainActivity.this),"JSInterface"); /* at webivew not brower*/ wv_test.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { return true ; } }); wv_test.loadUrl("file:///android_asset/JSInterface.html"); //wv_test.loadUrl("http://127.0.0.1:8080/JSInterface.html"); }
@SuppressLint("JavascriptInterface") private void initWebView() { mDetailWebView.getSettings().setJavaScriptEnabled(true); mDetailWebView.addJavascriptInterface(mPresenter, "web"); mDetailWebView.setWebViewClient(new WebViewClient() { //返回值为true 表示网页点击新的链接操作让我们自己处理 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); }
/** * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). * The errorCode parameter corresponds to one of the ERROR_* constants. * * @param view The WebView that is initiating the callback. * @param errorCode The error code corresponding to an ERROR_* value. * @param description A String describing the error. * @param failingUrl The url that failed to load. */ @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // Ignore error due to stopLoading(). if (!isCurrentlyLoading) { return; } LOG.d(TAG, "CordovaWebViewClient.onReceivedError: Error code=%s Description=%s URL=%s", errorCode, description, failingUrl); // If this is a "Protocol Not Supported" error, then revert to the previous // page. If there was no previous page, then punt. The application's config // is likely incorrect (start page set to sms: or something like that) if (errorCode == WebViewClient.ERROR_UNSUPPORTED_SCHEME) { parentEngine.client.clearLoadTimeoutTimer(); if (view.canGoBack()) { view.goBack(); return; } else { super.onReceivedError(view, errorCode, description, failingUrl); } } parentEngine.client.onReceivedError(errorCode, description, failingUrl); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_eula); toolBarView = (ToolBarView) findViewById(R.id.eula_toolbar); webView = (WebView) findViewById(R.id.eula_webview); toolBarView.setTitleText("用户服务条款和隐私协议"); toolBarView.setBackButtonImage(R.mipmap.icon_back); toolBarView.setBackButtonVisible(true); toolBarView.setBackButtonOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl(ServerUtil.WVAgreement); }
private void initWebView() { webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); if (newProgress == 100) { if (contentLayout != null) contentLayout.showContent(); if (webView != null) url = webView.getUrl(); } else { if (contentLayout != null) contentLayout.showLoading(); } } }); webView.setWebViewClient(new WebViewClient()); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true); webView.getSettings().setDatabaseEnabled(true); webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webView.getSettings().setAppCacheEnabled(true); webView.loadUrl(url); }
@Override protected void initView() { String name = getIntent().getStringExtra("name"); String url = getIntent().getStringExtra("url"); //设置沉浸式状态栏 setStatus(); iv_search.setVisibility(View.VISIBLE); //设置沉浸式状态栏背景 bar_layout.setBackgroundResource(R.color.black_alpha_5); title_text.setText(name); wv.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { super.onReceivedSslError(view, handler, error); handler.proceed(); } }); wv.getSettings().setJavaScriptEnabled(true); wv.loadUrl(url); }
@Deprecated private WebViewClient getClient() { if (!webClientHelper && AgentWebConfig.WEBVIEW_TYPE != AgentWebConfig.WEBVIEW_AGENTWEB_SAFE_TYPE && mWebViewClient != null) { return mWebViewClient; } else { LogUtils.i(TAG, "isInterceptUnkownScheme:" + isInterceptUnkownScheme + " openOtherAppWays:" + openOtherAppWays); return DefaultWebClient .createBuilder() .setActivity(this.mActivity) .setClient(this.mWebViewClient) .setManager(this.mWebViewClientCallbackManager) .setWebClientHelper(this.webClientHelper) .setPermissionInterceptor(this.mPermissionInterceptor) .setWebView(this.mWebCreator.get()) .setInterceptUnkownScheme(this.isInterceptUnkownScheme) .setSchemeHandleType(this.openOtherAppWays) .setCfg(this.mDefaultMsgConfig.getWebViewClientMsgCfg()) .build(); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_load_url); webview = (WebView) findViewById(R.id.webview); webview.loadUrl("https://www.sawerly.com/beta/cms/3/en"); webview.getSettings().setUseWideViewPort(true); webview.getSettings().setJavaScriptEnabled(true); // webview.measure(100,100); webview.setWebViewClient(new WebViewClient(){ @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { super.onReceivedSslError(view, handler, error); handler.proceed(); } }); // webview.setWebChromeClient(new WebChromeClient()); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_post); int postId = getIntent().getIntExtra(Constants.KEY_POST_ID, -1); if (postId != -1) { url = WebUtils.getPostURL(postId); } title = getIntent().getStringExtra(Constants.KEY_POST_TITLE); Toolbar toolbar = (Toolbar) findViewById(R.id.post_toolbar); toolbar.setTitle(title); setSupportActionBar(toolbar); if (getSupportActionBar() != null) { // Toolbar返回按钮 getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); } WebView webView = (WebView) findViewById(R.id.story_web_view); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl(WebUtils.getPostURL(postId)); }
private void init() { mWebView = (WebView) findViewById(R.id.news_webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); mWebView.setWebViewClient(new WebViewClient()); mWebView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { closeDialog(); } else { openLoadingDialog(newProgress); } } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); setTitle("Login"); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); Intent intent = getIntent(); final String url = intent.getStringExtra("url"); final String queryParam = intent.getStringExtra("queryParam"); WebView webView = (WebView)findViewById(R.id.webView); final WebViewClient client = new LoginWebViewClient(queryParam); webView.setWebViewClient(client); webView.loadUrl(url); }
private void initWebView() { mContentWebView.getSettings().setUseWideViewPort(false); mContentWebView.getSettings().setLoadWithOverviewMode(true); mContentWebView.getSettings().setPluginState(WebSettings.PluginState.ON); mContentWebView.setWebChromeClient(new WebChromeClient()); mContentWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { FragmentFactory.PageType pageType = FragmentFactory.getPageTypeByUrl(url); if (mListener != null && pageType == FragmentFactory.PageType.VIEW_IMAGE) { mListener.openPage(url, getString(R.string.view_image)); return true; } startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); return true; } }); mContentWebView.getSettings().setJavaScriptEnabled(true); }
public MuPDFReflowView(Context c, MuPDFCore core, Point parentSize) { super(c); mHandler = new Handler(); mCore = core; mParentSize = parentSize; mScale = 1.0f; mContentHeight = parentSize.y; getSettings().setJavaScriptEnabled(true); addJavascriptInterface(new Object(){ public void reportContentHeight(String value) { mContentHeight = (int)Float.parseFloat(value); mHandler.post(new Runnable() { public void run() { requestLayout(); } }); } }, "HTMLOUT"); setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { setScale(mScale); } }); }
@Override public void onPreviewViewReady(OTWrapper otWrapper, View localView) throws ListenerException { Log.i(LOG_TAG, "Local preview view is ready"); if (isScreenSharing) { //Share local web view mScreenSharingView = localView; mWebViewContainer.setWebViewClient(new WebViewClient()); WebSettings webSettings = mWebViewContainer.getSettings(); webSettings.setJavaScriptEnabled(true); mWebViewContainer.setLayerType(View.LAYER_TYPE_SOFTWARE, null); mWebViewContainer.loadUrl("http://www.tokbox.com"); } else { //audio/video call view Participant participant = new Participant(Participant.Type.LOCAL, mWrapper.getLocalStreamStatus(), getParticipantSize()); addNewParticipant(participant); } }
private void setupWebView() { WebSettings settings = mWvWebview.getSettings(); settings.setJavaScriptEnabled(true); settings.setSupportZoom(false); settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); settings.setDomStorageEnabled(true); WebViewClient webViewClient = new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(String.valueOf(request.getUrl())); return true; } }; mWvWebview.setWebViewClient(webViewClient); }
@SuppressLint({"SetJavaScriptEnabled"}) private void initWebView() { this.webview.getSettings().setJavaScriptEnabled(true); this.webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); this.webview.setVerticalScrollBarEnabled(false); this.webview.setVerticalScrollbarOverlay(false); this.webview.setHorizontalScrollBarEnabled(false); this.webview.setHorizontalScrollbarOverlay(false); this.webview.loadUrl(UrlUtils.handleUrl(BooheeClient.build(BooheeClient.ONE) .getDefaultURL(String.format(URL_GOODS, new Object[]{Integer.valueOf(this.mGoods .id)})))); this.webview.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { if (TextUtils.isEmpty(url) || GoodsHomeFragment.this.mGoods == null) { return false; } if (url.contains("boohee://channel_posts")) { GoodsHomeFragment.this.onGoodsPageChangeListener.onGoodsPageChange(GoodsTab .POST.getPosition()); } else { BooheeScheme.handleUrl(GoodsHomeFragment.this.getActivity(), url); } return true; } }); }
private void initWebView() { if (this.mWebView == null) { this.mWebView = new WebView(this); this.mWebView.setBackgroundColor(-1); this.rootView.addView(this.mWebView, new LayoutParams(-1, -1)); this.mWebView.getSettings().setUseWideViewPort(true); this.mWebView.getSettings().setSupportZoom(true); this.mWebView.getSettings().setBuiltInZoomControls(true); this.mWebView.setVerticalScrollBarEnabled(true); this.mWebView.setHorizontalScrollBarEnabled(true); this.mWebView.getSettings().setJavaScriptEnabled(true); this.mWebView.getSettings().setDomStorageEnabled(true); this.mWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { AlbumPlayActivity.this.mWebView.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); this.mWebView.setClickable(false); } }
private void init(){ LinearLayout layout = (LinearLayout) findViewById(R.id.Download_layout); layout.setVisibility(View.GONE); Intent intent = getIntent(); body = intent.getStringExtra("body"); title = intent.getStringExtra("title"); contentView = (WebView) findViewById(R.id.content_webview); contentView.setHorizontalScrollBarEnabled(false);//水平不显示 contentView.setVerticalScrollBarEnabled(false); //垂直不显示 contentView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return (event.getAction() == MotionEvent.ACTION_MOVE); } }); contentView.setWebViewClient(new WebViewClient()); topImage = (ImageView) findViewById(R.id.top_image); topTitle = (TextView) findViewById(R.id.top_titlt); topSource = (TextView) findViewById(R.id.top_source); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_webview_activity); WebView webView = findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); webView.setWebViewClient(new WebViewClient()); webSettings.setJavaScriptEnabled(true); String url = getIntent().getStringExtra("url"); if (url == null) { url = "file:///android_res/raw/sample_form.html"; } if (DEBUG) Log.d(TAG, "Clearing WebView data"); webView.clearHistory(); webView.clearFormData(); webView.clearCache(true); Log.i(TAG, "Loading URL " + url); webView.loadUrl(url); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_global_web_view); ButterKnife.bind(this); Intent intent = getIntent(); String herf = intent.getSerializableExtra("news").toString(); name = intent.getSerializableExtra("name").toString(); glWbTitle.setText("【11-11预售】" + name); // listbean = (News.ParentDataBean.ListBean.ListDataBean) getIntent().getSerializableExtra("news"); // String path = listbean.getHref(); setWebView(); WebViewClient client = new WebViewClient(); //在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的 client.shouldOverrideUrlLoading(wvNewContent, null); wvNewContent.setWebViewClient(client); //把网站给WebView wvNewContent.loadUrl(herf); }
public static void initWebViewSettings(WebView webView) { WebSettings settings = webView.getSettings(); //这个单位是SP settings.setDefaultFontSize(15); settings.setJavaScriptEnabled(true); //支持js settings.setUseWideViewPort(false); //将图片调整到适合webview的大小 settings.setSupportZoom(true); //支持缩放 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//无论是否有网络,只要本地有缓存,都使用缓存。本地没有缓存时才从网络上获取。 这里的WebView主要是用来加载图片和解析Html文本 settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //使超链接失效 return true; } }); }
private void optionChangelog() { WebView webview = new WebView(this); webview.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { int userId = Util.getUserId(Process.myUid()); Version currentVersion = new Version(Util.getSelfVersionName(ActivityMain.this)); PrivacyManager.setSetting(userId, PrivacyManager.cSettingChangelog, currentVersion.toString()); } }); webview.loadUrl("https://github.com/M66B/XPrivacy/blob/master/CHANGELOG.md"); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setTitle(R.string.menu_changelog); alertDialogBuilder.setIcon(getThemed(R.attr.icon_launcher)); alertDialogBuilder.setView(webview); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show(); }
private void showHereMapsTerms() { Crashlytics.log(Log.INFO, SettingsActivity.class.getSimpleName(), "showHereMapsTerms()"); WebView webView = new WebView(this); webView.setWebViewClient(new WebViewClient()); webView.loadUrl(getString(R.string.here_maps_terms_url)); new AlertDialog.Builder(this) .setView(webView) .setCancelable(true) .setPositiveButton(R.string.accept_terms_button_text, new DialogInterface.OnClickListener() { public void onClick(final DialogInterface dialog, final int id) { Prefs.setHereMapsTermsAccepted(SettingsActivity.this, true); limitProviderSelectorHandler(true); //Set limit provider now that terms have been accepted Answers.getInstance().logCustom(new CustomEvent("Enabled HERE")); }}) .setNegativeButton(R.string.reject_terms_button_text, null) .show(); }
private static void initWebView(WebView webview) { webview.setFocusable(true); webview.setInitialScale(0); // imdb does not look good in fullscreen with anything but this webview.getSettings().setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (DBG) Log.d(TAG, "shouldOverrideUrlLoading " + url); return false; } }); // Remove 'Mobile' from the user agent to avoid phone-version of IMDB on TV screen... String userAgent = webview.getSettings().getUserAgentString(); userAgent = userAgent.replace("Mobile", " "); webview.getSettings().setUserAgentString(userAgent); }
/** * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). * The errorCode parameter corresponds to one of the ERROR_* constants. * * @param errorCode The error code corresponding to an ERROR_* value. * @param description A String describing the error. * @param failingUrl The url that failed to load. */ public void onReceivedError(final int errorCode, final String description, final String failingUrl) { final CordovaActivity me = this; // If errorUrl specified, then load it final String errorUrl = preferences.getString("errorUrl", null); if ((errorUrl != null) && (!failingUrl.equals(errorUrl)) && (appView != null)) { // Load URL on UI thread me.runOnUiThread(new Runnable() { public void run() { me.appView.showWebPage(errorUrl, false, true, null); } }); } // If not, then display error dialog else { final boolean exit = !(errorCode == WebViewClient.ERROR_HOST_LOOKUP); me.runOnUiThread(new Runnable() { public void run() { if (exit) { me.appView.getView().setVisibility(View.GONE); me.displayError("Application Error", description + " (" + failingUrl + ")", "OK", exit); } } }); } }
/** * Closes the dialog */ public void closeDialog() { this.cordova.getActivity().runOnUiThread(new Runnable() { @Override public void run() { final WebView childView = inAppWebView; // The JS protects against multiple calls, so this should happen only when // closeDialog() is called by other native code. if (childView == null) { return; } childView.setWebViewClient(new WebViewClient() { // NB: wait for about:blank before dismissing public void onPageFinished(WebView view, String url) { if (dialog != null) { dialog.dismiss(); dialog = null; } } }); // NB: From SDK 19: "If you call methods on WebView from any thread // other than your app's UI thread, it can cause unexpected results." // http://developer.android.com/guide/webapps/migrating.html#Threads childView.loadUrl("about:blank"); try { JSONObject obj = new JSONObject(); obj.put("type", EXIT_EVENT); sendUpdate(obj, false); } catch (JSONException ex) { LOG.d(LOG_TAG, "Should never happen"); } } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.place_details); mContext = this; mResources = getResources(); mMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.place_map); mMapFragment.getMapAsync(new OnMapReadyCallback() { @Override public void onMapReady(GoogleMap map) { mMap = map; updateUI(); } }); mPlaceId = getIntent().getIntExtra(EXTRA_PLACE_POSITION, -1); final VisitableGenerator generator = VisitableGenerator.get(this); mPlace = generator.getPlace(mPlaceId); mLocation = new Location(""); mLocation.set(mPlace.getLocation()); mPlaceImageViewFull = (ImageView) findViewById(R.id.place_image_full); mPlaceCaption = (TextView) findViewById(R.id.place_caption_full); mWebView = (WebView) findViewById(R.id.web_view); mBackupEmptyView = (TextView) findViewById(R.id.place_backup_empty_view); mIndicator = (ProgressBar) findViewById(R.id.indicator); mVisitedCheckBox = (CheckBox) findViewById(R.id.visited_check_box); mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); mProgressBar.setMax(100); mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView webView, int newProgress) { if (newProgress == 100) { mProgressBar.setVisibility(View.GONE); } else { mProgressBar.setVisibility(View.VISIBLE); mProgressBar.setProgress(newProgress); } } }); mWebView.setWebViewClient(new WebViewClient()); mWebView.loadUrl(mPlace.getWikiUrl()); Bitmap bitmap = PictureUtils.decodeBitmapFromResource(getResources(), mPlace.getImgResourceId(), 400, 400); mPlaceImageViewFull.setImageBitmap(bitmap); mPlaceCaption.setText(mPlace.getPlaceNameResId()); this.getSupportActionBar().setTitle(mPlace.getPlaceNameResId()); mVisitedCheckBox.setChecked(mPlace.isVisited()); mVisitedCheckBox.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton view, boolean isChecked) { mPlace.setVisited(isChecked); } }); mConnManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = mConnManager.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnected(); if (!isConnected) { mIndicator.setVisibility(View.INVISIBLE); mBackupEmptyView.setText(R.string.empty_placeholder); } }
@SuppressLint("SetJavaScriptEnabled") private void initWebView() { webView = findViewById(R.id.webView); WebSettings webSetting = webView.getSettings(); webSetting.setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.setWebChromeClient(new WebChromeClient()); // 这个链接可以测试鼠标拖动的轨迹,通过画线的痕迹 // webView.loadUrl("https://muro.deviantart.com/"); webView.loadUrl("http://www.baidu.com"); webView.requestFocus(); }
@SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_practice_qqbrowser); final Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); final WebView webView = (WebView) findViewById(R.id.webView); webView.loadUrl("https://github.com/scwang90/SmartRefreshLayout"); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //状态栏透明和间距处理 StatusBarUtil.immersive(this); StatusBarUtil.setPaddingSmart(this, toolbar); }
/** * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). * The errorCode parameter corresponds to one of the ERROR_* constants. * * @param view The WebView that is initiating the callback. * @param errorCode The error code corresponding to an ERROR_* value. * @param description A String describing the error. * @param failingUrl The url that failed to load. */ @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // Ignore error due to stopLoading(). if (!isCurrentlyLoading) { return; } LOG.d(TAG, "CordovaWebViewClient.onReceivedError: Error code=%s Description=%s URL=%s", errorCode, description, failingUrl); // Clear timeout flag this.appView.loadUrlTimeout++; // If this is a "Protocol Not Supported" error, then revert to the previous // page. If there was no previous page, then punt. The application's config // is likely incorrect (start page set to sms: or something like that) if (errorCode == WebViewClient.ERROR_UNSUPPORTED_SCHEME) { if (view.canGoBack()) { view.goBack(); return; } else { super.onReceivedError(view, errorCode, description, failingUrl); } } // Handle other errors by passing them to the webview in JS JSONObject data = new JSONObject(); try { data.put("errorCode", errorCode); data.put("description", description); data.put("url", failingUrl); } catch (JSONException e) { e.printStackTrace(); } this.appView.postMessage("onReceivedError", data); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = (WebView) findViewById(R.id.web_view); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("http://www.baidu.com"); }
private void setWeb() { web.setWebViewClient(new WebViewClient() { boolean authComplete = false; @Override public void onPageFinished(WebView view, String url) { String authCode; progressBar.setVisibility(View.GONE); if (url.contains("?code=") && !authComplete) { authComplete = true; Uri uri = Uri.parse(url); authCode = uri.getQueryParameter("code"); web.setVisibility(View.GONE); tapToRetry.setVisibility(View.GONE); getToken(authCode); } else if (url.contains("error=access_denied")) { authComplete = true; Toast.makeText(getApplicationContext(), "Trakt access denied", Toast.LENGTH_SHORT).show(); Intent resultIntent = new Intent(); setResult(Activity.RESULT_CANCELED, resultIntent); finish(); } super.onPageFinished(view, url); } }); if (!DetectConnection.checkInternetConnection(this)) { tvError.setText(R.string.network_error); tapToRetry.setVisibility(View.VISIBLE); progressBar.setVisibility(View.GONE); web.setVisibility(View.GONE); } else { web.clearCache(true); web.clearHistory(); web.loadUrl(url); } }