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); }
private void init() { sharedPreferencesUtils = new SharedPreferencesUtils(context); view = LayoutInflater.from(context).inflate(R.layout.dialog_html,null); this.setContentView(view); this.setTitle(title); webView = (WebView) view.findViewById(R.id.dialog_html_webview); webView.loadDataWithBaseURL(null,readAssets(context,"about.html"), "text/html", "utf-8", null); webView.setWebChromeClient(new WebChromeClient()); this.setPositiveButton(ok, new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); }
private WebChromeClient getChromeClient() { IndicatorController mIndicatorController = (this.mIndicatorController == null) ? IndicatorHandler.getInstance().inJectProgressView(mWebCreator.offer()) : this.mIndicatorController; DefaultChromeClient mDefaultChromeClient = new DefaultChromeClient(this.mActivity, this.mIndicatorController = mIndicatorController, this.mWebChromeClient, this.mChromeClientCallbackManager, this.mIVideo = getIVideo(), mDefaultMsgConfig.getChromeClientMsgCfg(), this.mPermissionInterceptor, mWebCreator.get()); LogUtils.i(TAG, "WebChromeClient:" + this.mWebChromeClient); MiddleWareWebChromeBase header = this.mMiddleWareWebChromeBaseHeader; if (header != null) { MiddleWareWebChromeBase tail = header; int count = 1; MiddleWareWebChromeBase tmp = header; while (tmp.next() != null) { tail = tmp = tmp.next(); count++; } LogUtils.i(TAG, "MiddleWareWebClientBase middleware count:" + count); tail.setWebChromeClient(mDefaultChromeClient); return this.mTargetChromeClient = header; } else { return this.mTargetChromeClient = mDefaultChromeClient; } }
private void initWebView() { WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); /*使webview能够加载图片*/ webSettings.setBlockNetworkImage(false); webSettings.setAppCacheEnabled(true); mDialog=new SpotsDialog(this); mDialog.show(); mWebView.loadUrl(mMessage.getClickUrl()); // mWebAppInterface = new WebAppInterface(this); // mWebView.addJavascriptInterface(mWebAppInterface, "appInterface"); mWebView.setWebViewClient(new MyWebChromeC()); mWebView.setWebChromeClient(new WebChromeClient(){ }); }
public void showCustomView(View view, WebChromeClient.CustomViewCallback callback) { // This code is adapted from the original Android Browser code, licensed under the Apache License, Version 2.0 Log.d(TAG, "showing Custom View"); // if a view already exists then immediately terminate the new one if (mCustomView != null) { callback.onCustomViewHidden(); return; } // Store the view and its callback for later (to kill it properly) mCustomView = view; mCustomViewCallback = callback; // Add the custom view to its container. ViewGroup parent = (ViewGroup) this.getParent(); parent.addView(view, COVER_SCREEN_GRAVITY_CENTER); // Hide the content view. this.setVisibility(View.GONE); // Finally show the custom view container. parent.setVisibility(View.VISIBLE); parent.bringToFront(); }
DefaultChromeClient(Activity activity, IndicatorController indicatorController, WebChromeClient chromeClient, ChromeClientCallbackManager chromeClientCallbackManager, @Nullable IVideo iVideo, DefaultMsgConfig.ChromeClientMsgCfg chromeClientMsgCfg, PermissionInterceptor permissionInterceptor, WebView webView) { super(chromeClient); this.mIndicatorController = indicatorController; isWrapper = chromeClient != null ? true : false; this.mWebChromeClient = chromeClient; mActivityWeakReference = new WeakReference<Activity>(activity); this.mChromeClientCallbackManager = chromeClientCallbackManager; this.mIVideo = iVideo; this.mChromeClientMsgCfg = chromeClientMsgCfg; this.mPermissionInterceptor = permissionInterceptor; this.mWebView = webView; mAgentWebUiController = new WeakReference<AgentWebUIController>(AgentWebUtils.getAgentWebUIControllerByWebView(webView)); LogUtils.i(TAG, "controller:" + mAgentWebUiController.get()); }
@SuppressLint("SetJavaScriptEnabled") private void initializeWebView() { _centerWebView = ((Activity) _context).findViewById(R.id.centerWebView); _centerWebView.getSettings().setBuiltInZoomControls(true); _centerWebView.getSettings().setSupportZoom(true); _centerWebView.getSettings().setJavaScriptEnabled(true); _centerWebView.getSettings().setLoadWithOverviewMode(true); _centerWebView.setWebViewClient(new WebViewClient()); _centerWebView.setWebChromeClient(new WebChromeClient()); _centerWebView.setInitialScale(100); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(false); _centerWebView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { _loadingUrl = false; } }); }
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); }
private void initialize() { loadUrl("file:///android_asset/html/preview.html"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { getSettings().setAllowUniversalAccessFromFileURLs(true); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } setWebChromeClient(new WebChromeClient() { @SuppressLint("JavascriptInterface") @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); if (newProgress == 100) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { loadUrl(mPreviewText); } else { evaluateJavascript(mPreviewText, null); } } } }); }
@SuppressLint("SetJavaScriptEnabled") private void init() { progressbar = new ProgressBar(getContext(), null, android.R.attr.progressBarStyleHorizontal); progressbar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 20, 0, 0)); addView(progressbar); WebSettings settings = getSettings(); settings.setJavaScriptEnabled(true); settings.setBuiltInZoomControls(false); settings.setCacheMode(WebSettings.LOAD_NO_CACHE); settings.setDomStorageEnabled(true); settings.setAppCacheEnabled(false); setWebChromeClient( new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); newProgressBar(newProgress); } }); }
private void initParam() { setUpWebViewDefaults(getView().webView); getView().webView.setWebViewClient(new MyWebViewClient(getView())); //设置显示进度条 getView().webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); if (newProgress == 100) getView().progressBar.setVisibility(View.GONE); else getView().progressBar.setProgress(newProgress); } }); getView().webView.loadUrl(getView().getIntent().getStringExtra("url")); }
@SuppressLint({"SetJavaScriptEnabled","addJavascriptInterface"}) public RichEditor(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); if(isInEditMode()) return; addJavascriptInterface(new Android4JsInterface(),"AndroidInterface"); setVerticalScrollBarEnabled(false); setHorizontalScrollBarEnabled(false); setWebViewClient(createWebViewClient()); setWebChromeClient(new WebChromeClient()); mContentLength = 0; getSettings().setJavaScriptEnabled(true); load(); //applyAttributes(context, attrs); }
@AfterViews @SuppressLint("SetJavaScriptEnabled") protected void visitUrl() { this.webview.setWebChromeClient(new WebChromeClient()); // the default webview client will occasionally open the browser // we don't want this - we want content to be displayed, // by default, in the app. this.webview.setWebViewClient(new WebViewClient()); // allow js WebSettings settings = this.webview.getSettings(); // attempt to initially fit content without requiring zooms settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); // allow zooming settings.setBuiltInZoomControls(true); // allow js settings.setJavaScriptEnabled(true); this.webview.loadUrl(this.url); }
private void initWebChromeClient() { mWebView.setWebChromeClient(new WebChromeClient() { private Bitmap mDefaultVideoPoster;//默认的视频展示图 @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); getToolBar().setTitle(title); } @Override public Bitmap getDefaultVideoPoster() { if (mDefaultVideoPoster == null) { mDefaultVideoPoster = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); return mDefaultVideoPoster; } return super.getDefaultVideoPoster(); } }); }
@Override @Deprecated public void showCustomView(View view, WebChromeClient.CustomViewCallback callback) { // This code is adapted from the original Android Browser code, licensed under the Apache License, Version 2.0 LOG.d(TAG, "showing Custom View"); // if a view already exists then immediately terminate the new one if (mCustomView != null) { callback.onCustomViewHidden(); return; } // Store the view and its callback for later (to kill it properly) mCustomView = view; mCustomViewCallback = callback; // Add the custom view to its container. ViewGroup parent = (ViewGroup) engine.getView().getParent(); parent.addView(view, new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, Gravity.CENTER)); // Hide the content view. engine.getView().setVisibility(View.GONE); // Finally show the custom view container. parent.setVisibility(View.VISIBLE); parent.bringToFront(); }
@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(); }
private void setupWebView() { mWebView.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { if (progress == 100) mProgressContainer.setVisibility(ProgressBar.GONE); } }); mWebView.setWebViewClient(new ProgressWebViewClient()); mWebView.setInitialScale(1); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.getSettings().setDisplayZoomControls(true); mWebView.getSettings().setLoadsImagesAutomatically(true); mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setLoadWithOverviewMode(true); mWebView.getSettings().setUseWideViewPort(true); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setAppCacheEnabled(true); mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); if (DataUtils.isNetworkAvailable(this)) { showHideOfflineLayout(false); if (mPost.postType == Post.PostType.STORY) { String strippedUrl = mPost.url.split("\\?")[0].split("#")[0]; mWebView.loadUrl(strippedUrl.endsWith(KEY_PDF) ? URL_GOOGLE_DOCS + mPost.url : mPost.url); } else { mWebView.loadUrl(mPost.url); } } else { showHideOfflineLayout(true); } }
private void initWebView() { webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); if (newProgress == 100) { swipeRefreshLayout.setRefreshing(false); 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); }
public WebChromeClient buildWebChromeClient(final ProgressBar progressBar) { return new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); progressBar.setProgress(newProgress); progressBar.setVisibility(newProgress < 100 ? ProgressBar.VISIBLE : ProgressBar.GONE); } }; }
public ProgressWebView(Context context, AttributeSet attrs) { super(context, attrs); progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal); progressBar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 10, 0, 0)); Drawable drawable = context.getResources().getDrawable(R.drawable.progress_bar_states); progressBar.setProgressDrawable(drawable); addView(progressBar); setWebChromeClient(new WebChromeClient()); getSettings().setSupportZoom(true);//支持缩放 getSettings().setBuiltInZoomControls(true); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_noticia); //Pega a notícia passada pela ActivityPrincipal mNoticia = (Noticia)getIntent().getExtras().get("noticia"); //Obtem da View mToolbar = (Toolbar) findViewById(R.id.tb_noticias); mToolbar.setTitle(mNoticia.getTitulo()); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); mToolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); //Obtem da View mImageView = (ImageView) findViewById(R.id.iv_noticias); //Carrega a imagem com a biblioteca Picasso Picasso.with(this).load(Uri.parse(Utils.getUrlApiThumbnail(this).replace("$tipo", "noticias").replace("$id", String.valueOf(mNoticia.getId()))+"&thumb=false")).placeholder(R.drawable.no_avatar).into(mImageView); //Obtem da View mWebView = (WebView) findViewById(R.id.web_noticias); //Carrega o conteúdo mWebView.loadDataWithBaseURL("file:///android_asset/","<link rel=\"stylesheet\" type=\"text/css\" href=\"estilo.css\" />"+mNoticia.getConteudo(),"text/html", "UTF-8", null); //Permite Javascript e outros fatores mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setAllowContentAccess(true); WebSettings webSettings = mWebView.getSettings(); webSettings.setPluginState(WebSettings.PluginState.ON); webSettings.setUseWideViewPort(true); mWebView.setWebChromeClient(new WebChromeClient() {}); }
/** * Receive File Data from File Chooser * * @param requestCode the requested code from chromeclient * @param resultCode the result code returned from android system * @param intent the data from android file chooser */ public void onActivityResult(int requestCode, int resultCode, Intent intent) { // For Android >= 5.0 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { LOG.d(LOG_TAG, "onActivityResult (For Android >= 5.0)"); // If RequestCode or Callback is Invalid if(requestCode != FILECHOOSER_REQUESTCODE_LOLLIPOP || mUploadCallbackLollipop == null) { super.onActivityResult(requestCode, resultCode, intent); return; } mUploadCallbackLollipop.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, intent)); mUploadCallbackLollipop = null; } // For Android < 5.0 else { LOG.d(LOG_TAG, "onActivityResult (For Android < 5.0)"); // If RequestCode or Callback is Invalid if(requestCode != FILECHOOSER_REQUESTCODE || mUploadCallback == null) { super.onActivityResult(requestCode, resultCode, intent); return; } if (null == mUploadCallback) return; Uri result = intent == null || resultCode != cordova.getActivity().RESULT_OK ? null : intent.getData(); mUploadCallback.onReceiveValue(result); mUploadCallback = null; } }
@Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_browser, container, false); ((AppCompatActivity) getActivity()).setSupportActionBar(root.findViewById(R.id.toolbar)); mWebView = root.findViewById(R.id.webview); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.getSettings().setDisplayZoomControls(false); mWebView.setWebViewClient(new VkLinkSupportWebClient()); mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { BrowserFragment.this.title = title; refreshActionBar(); } }); mWebView.getSettings().setJavaScriptEnabled(true); // из-за этого не срабатывал метод // shouldOverrideUrlLoading в WebClient if (savedInstanceState != null) { restoreFromInstanceState(savedInstanceState); } else if (webState != null) { mWebView.restoreState(webState); webState = null; } else { loadAtFirst(); } return root; }
@SuppressLint("SetJavaScriptEnabled") private void setupWebView() { progressBar.spin(); final WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); webSettings.setDomStorageEnabled(true); webSettings.setGeolocationEnabled(true); webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true); mWebView.getSettings().setBlockNetworkImage(true); mWebView.setWebViewClient(webViewClient); mWebView.requestFocus(View.FOCUS_DOWN); mWebView.getSettings().setDefaultTextEncodingName("UTF-8"); mWebView.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { AlertDialog.Builder b2 = new AlertDialog .Builder(BrowserActivity.this) .setTitle(R.string.app_name) .setMessage(message) .setPositiveButton("确定", (dialog, which) -> result.confirm()); b2.setCancelable(false); b2.create(); b2.show(); return true; } }); mWebView.loadUrl(url); }
@Test public void testLoadUrl() throws Exception { String url = "http://www.taobao.com"; view.loadUrl(url); WebViewClient client = shadow.getWebViewClient(); client.onPageStarted(webView,url,null); client.onPageFinished(webView,url); WebChromeClient chromeClient = shadow.getWebChromeClient(); chromeClient.onProgressChanged(webView,10); chromeClient.onProgressChanged(webView,100); chromeClient.onReceivedTitle(webView,"test"); }
private void commonRefect(WebChromeClient o, String mothed, Object[] os, Class... clazzs) { try { if (o == null) return; Class<?> clazz = o.getClass(); Method mMethod = clazz.getMethod(mothed, clazzs); mMethod.invoke(o, os); } catch (Exception ignore) { } }
@SuppressLint("SetJavaScriptEnabled") @Override public void onReceive(Context context, Intent intent) { _logger.Debug("_screenEnableReceiver onReceive"); _screenEnabled = true; _centerTextView = ((Activity) _context).findViewById(R.id.centerTextView); _centerWebView = ((Activity) _context).findViewById(R.id.centerWebView); _centerWebView.getSettings().setBuiltInZoomControls(true); _centerWebView.getSettings().setSupportZoom(true); _centerWebView.getSettings().setJavaScriptEnabled(true); _centerWebView.getSettings().setLoadWithOverviewMode(true); _centerWebView.setWebViewClient(new WebViewClient()); _centerWebView.setWebChromeClient(new WebChromeClient()); _centerWebView.setInitialScale(100); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(false); _centerWebView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { _progressDialog.dismiss(); _loadingUrl = false; } }); _youTubePlayerView = ((Activity) _context).findViewById(R.id.centerYoutubePlayer); if (Keys.YOUTUBE_API_KEY.length() != 0) { _youTubePlayerView.initialize(Keys.YOUTUBE_API_KEY, CenterViewController.this); } else { _logger.Warn("Please enter your youtube api key!"); Toasty.error(_context, "Please enter your youtube api key!", Toast.LENGTH_LONG).show(); } }
public boolean onShowFileChooser(WebView view, ValueCallback<Uri[]> filePath, WebChromeClient.FileChooserParams fileChooserParams) { // Double check that we don't have any existing callbacks if (mFilePathCallback != null) { mFilePathCallback.onReceiveValue(null); } mFilePathCallback = filePath; Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { // Create the File where the photo should go File photoFile = null; try { photoFile = createImageFile(); takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath); } catch (IOException ex) { // Error occurred while creating the File Log.e(TAG, "Unable to create Image File", ex); } // Continue only if the File was successfully created if (photoFile != null) { mCameraPhotoPath = "file:" + photoFile.getAbsolutePath(); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); } else { takePictureIntent = null; } } Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT); contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE); contentSelectionIntent.setType("*/*"); Intent[] intentArray; if (takePictureIntent != null) { intentArray = new Intent[]{takePictureIntent}; } else { intentArray = new Intent[0]; } Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER); chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent); chooserIntent.putExtra(Intent.EXTRA_TITLE, "File Chooser"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray); startActivityForResult(chooserIntent, INPUT_FILE_REQUEST_CODE); return true; }
private WebChromeClient createWebChromeClient() { return new WebChromeClient() { public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); if (!TextUtils.isEmpty(title)) { HardwareIntroActivity.this.setTitle(title); } } }; }
@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); } }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { openFileChooser(value -> { if (value == null) { filePathCallback.onReceiveValue(null); } else { filePathCallback.onReceiveValue(new Uri[]{value}); } }, fileChooserParams.getAcceptTypes()); return true; }
private void init() { WebSettings settings = getSettings(); settings.setUseWideViewPort(true); settings.setBuiltInZoomControls(true); settings.setLoadWithOverviewMode(true); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setDomStorageEnabled(true); settings.setDisplayZoomControls(false); setWebViewClient(new WebViewClient()); setWebChromeClient(new WebChromeClient()); }
@SuppressLint("SetJavaScriptEnabled") public RichEditor(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setVerticalScrollBarEnabled(false); setHorizontalScrollBarEnabled(false); getSettings().setJavaScriptEnabled(true); jsInterface = new JsInterface(); addJavascriptInterface(jsInterface, "JsInterface"); setWebChromeClient(new WebChromeClient()); setWebViewClient(createWebviewClient()); loadUrl(SETUP_HTML); applyAttributes(context, attrs); }
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Window window = getWindow(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { window.setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark)); } requestWindowFeature(Window.FEATURE_NO_TITLE); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); mWebView = new WebView(this); mWebView.setScrollContainer(false); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); setContentView(mWebView, layoutParams); Bundle args = getIntent().getExtras(); String url = args.getString(ARG_URL); mWebView.setWebViewClient(new WebViewClient()); mWebView.getSettings().setJavaScriptEnabled(true); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); } mWebView.setWebChromeClient(new WebChromeClient()); mWebView.loadUrl(url); }
void reset() { stop(); removeAllJs(); setWebChromeClient(new WebChromeClient()); setWebViewClient(new WebViewClient()); removeAllViews(); clearHistory(); if (!usingPool) { destroy(); } }
public a(MobclickAgentJSInterface mobclickAgentJSInterface, WebChromeClient webChromeClient) { this.b = mobclickAgentJSInterface; if (webChromeClient == null) { this.a = new WebChromeClient(); } else { this.a = webChromeClient; } }
@Override public void initUI() { if(!StringUtils.isBlank(title)){ tvTitle.setText(title); } progressBar.setMax(100); isShowError = addErrorView(vError); WebSettings ws = webView.getSettings(); //是否允许脚本支持 ws.setJavaScriptEnabled(true); ws.setDomStorageEnabled(true); ws.setJavaScriptCanOpenWindowsAutomatically(true); // ws.setCacheMode(WebSettings.LOAD_NO_CACHE); // webView.setHorizontalScrollBarEnabled(false); // webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); String str = getIntent().getStringExtra(Constants.KEY_URL); if(!TextUtils.isEmpty(str)){ this.url = str; } webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); updateProgressBar(newProgress); } }); webView.setWebViewClient(getWebViewClient()); load(webView,url); }