@Override protected WebView createViewInstance(ThemedReactContext reactContext) { ReactWebView webView = new ReactWebView(reactContext); webView.setWebChromeClient(new WebChromeClient() { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); reactContext.addLifecycleEventListener(webView); mWebViewConfig.configWebView(webView); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setDisplayZoomControls(false); // Fixes broken full-screen modals/galleries due to body height being 0. webView.setLayoutParams( new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } return webView; }
@Override public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissions.Callback callback) { AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setMessage("是否允许获取您的位置信息?"); DialogInterface.OnClickListener dialogButtonOnClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int clickedButton) { if (DialogInterface.BUTTON_POSITIVE == clickedButton) { callback.invoke(origin, true, true); } else if (DialogInterface.BUTTON_NEGATIVE == clickedButton) { callback.invoke(origin, false, false); } } }; builder.setPositiveButton("允许", dialogButtonOnClickListener); builder.setNegativeButton("拒绝", dialogButtonOnClickListener); builder.show(); super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setToolBarTitle(AppConstants.ToolBarTitle.deliveryLogistics); initData(); logisticsWebView.loadUrl("https://m.kuaidi100.com/"); logisticsWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); logisticsWebView.setWebChromeClient(new WebChromeClient() { //配置权限(同样在WebChromeClient中实现) @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); } }); }
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { if (this.mRealWebChromeClient != null){ this.mRealWebChromeClient.onGeolocationPermissionsShowPrompt(origin, callback); return; } super.onGeolocationPermissionsShowPrompt(origin,callback); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { LogUtils.i(TAG, "onGeolocationPermissionsShowPrompt:" + origin + " callback:" + callback); if (AgentWebUtils.isOverriedMethod(mWebChromeClient, "onGeolocationPermissionsShowPrompt", "public void " + ChromePath + ".onGeolocationPermissionsShowPrompt", String.class, GeolocationPermissions.Callback.class)) { super.onGeolocationPermissionsShowPrompt(origin, callback); return; } onGeolocationPermissionsShowPromptInternal(origin, callback); }
private void onGeolocationPermissionsShowPromptInternal(String origin, GeolocationPermissions.Callback callback) { if (mPermissionInterceptor != null) { if (mPermissionInterceptor.intercept(this.mWebView.getUrl(), AgentWebPermissions.LOCATION, "location")) { callback.invoke(origin, false, false); return; } } Activity mActivity = mActivityWeakReference.get(); if (mActivity == null) { callback.invoke(origin, false, false); return; } List<String> deniedPermissions = null; if ((deniedPermissions = AgentWebUtils.getDeniedPermissions(mActivity, AgentWebPermissions.LOCATION)).isEmpty()) { LogUtils.i(TAG, "onGeolocationPermissionsShowPromptInternal:" + true); callback.invoke(origin, true, false); } else { Action mAction = Action.createPermissionsAction(deniedPermissions.toArray(new String[]{})); mAction.setFromIntention(FROM_CODE_INTENTION_LOCATION); ActionActivity.setPermissionListener(mPermissionListener); this.mCallback = callback; this.origin = origin; ActionActivity.start(mActivity, mAction); } }
@Override public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissions.Callback callback) { callback.invoke(origin, true, true); super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override protected void onCreate(Bundle b) { super.onCreate(b); wv.setWebChromeClient(new WebChromeClient() { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions .Callback callback) { Log.d(TAG, "onGeolocationPermissionsShowPrompt() called with: origin = [" + origin + "], callback = [" + callback + "]"); callback.invoke(origin, true, true); super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override protected WebView createViewInstance(ThemedReactContext reactContext) { ReactWebView webView = new ReactWebView(reactContext); webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onConsoleMessage(ConsoleMessage message) { if (ReactBuildConfig.DEBUG) { return super.onConsoleMessage(message); } // Ignore console logs in non debug builds. return true; } @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); reactContext.addLifecycleEventListener(webView); mWebViewConfig.configWebView(webView); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setDisplayZoomControls(false); webView.getSettings().setDomStorageEnabled(true); // Fixes broken full-screen modals/galleries due to body height being 0. webView.setLayoutParams( new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } return webView; }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { if (originalWebChromeClient != null) { originalWebChromeClient.onGeolocationPermissionsShowPrompt(origin, callback); } else { super.onGeolocationPermissionsShowPrompt(origin, callback); } }
/** * {@inheritDoc} */ @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { // If we are not allowed to use geolocation, show an alert, if possible. if (!mAllowGeolocation) { if (mListener != null) { mListener.showGeolocationDisabledAlert(); } } // Invoke the callback stating whether or not geolocation is allowed callback.invoke(origin, mAllowGeolocation, false); }
@Override protected void onCreate(Bundle savedInstanceState) { mContext = this; super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 10); } WebView webview = (WebView) findViewById(R.id.webView); webview.setWebViewClient(new WebViewClient()); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("http://openpokemap.pw/"); webview.clearCache(true); webview.setWebChromeClient(new WebChromeClient(){ public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, true); } }); startService(new Intent(this, Background.class)); startService(new Intent(this, Notifications.class)); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); if(client != null) { client.onGeolocationPermissionsShowPrompt(origin, callback); } }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void settingWebView() { webView.setClickable(true); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); if (AndroidSdkVersion.hasJellyBean16()) { webView.getSettings().setAllowFileAccessFromFileURLs(true); webView.getSettings().setAllowUniversalAccessFromFileURLs(true); } webView.getSettings().setGeolocationDatabasePath(getContext().getFilesDir().getPath()); webView.setWebChromeClient(new WebChromeClient() { public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); showProgressView(false); } }); webView.addJavascriptInterface(new PostMessage(), "OrchextraJSNativeAndroid"); }
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { /** Request location permission. * If granted it's awesome and go on, * otherwise just stop here and leave the method. */ requestLocationPermission(); if (!hasLocationPermission()) return; callback.invoke(origin, true, false); }
private void SetupFullScreenVideo() { //full screen video mTargetView = (FrameLayout) findViewById(R.id.target_view); myWebChromeClient = new WebChromeClient() { //this custom WebChromeClient allow to show video on full screen @Override public void onShowCustomView(View view, CustomViewCallback callback) { mCustomViewCallback = callback; mTargetView.addView(view); mCustomView = view; swipeRefreshLayout.setVisibility(View.GONE); mTargetView.setVisibility(View.VISIBLE); mTargetView.bringToFront(); } @Override public void onHideCustomView() { if (mCustomView == null) return; mCustomView.setVisibility(View.GONE); mTargetView.removeView(mCustomView); mCustomView = null; mTargetView.setVisibility(View.GONE); mCustomViewCallback.onCustomViewHidden(); swipeRefreshLayout.setVisibility(View.VISIBLE); } @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }; webViewFacebook.setWebChromeClient(myWebChromeClient); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { // Always grant permission since the app itself requires location // permission and the user has therefore already granted it callback.invoke(origin, true, false); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { TraceEvent.begin(); if (mWebChromeClient != null) { if (TRACE) Log.d(TAG, "onGeolocationPermissionsShowPrompt"); mWebChromeClient.onGeolocationPermissionsShowPrompt(origin, callback); } TraceEvent.end(); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); callback.invoke(origin,true,true); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startService(new Intent(this, BackgroundService.class)); // get Connectivity Manager object to check connection ConnectivityManager connec = (ConnectivityManager)getSystemService(getBaseContext().CONNECTIVITY_SERVICE); // Check for network connections if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED || connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING || connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING || connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) { // if connected with internet internetIsUp=true; } else if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED || connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED ) { internetIsUp=false; } mywebView = (WebView) findViewById(R.id.webview); //WebView WebSettings webSettings= mywebView.getSettings(); webSettings.setJavaScriptEnabled(true); if(internetIsUp==true){ mywebView.loadUrl("http://radio.garden/live/"); } else{ mywebView.loadUrl("file:///android_asset/disconnected.html"); } //Location ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION }, 0); mywebView.setWebChromeClient(new WebChromeClient() { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); mywebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3278.0 Safari/537.36 OPR/51.0.2809.0 (Edition developer)"); mywebView.setBackgroundColor(Color.TRANSPARENT); mywebView.setWebViewClient(new WebViewClient()); PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Radio Garden"); wakeLock.acquire(); }
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); }
@Override public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false);//注意个函数,第二个参数就是是否同意定位权限,第三个是是否希望内核记住 super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); }
public OnGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { this.origin = origin; this.callback = callback; }
public GeolocationPermissions.Callback getCallback() { return callback; }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); observer.onNext(new OnGeolocationPermissionsShowPrompt(origin, callback)); }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { if (originalWebChromeClient != null) { originalWebChromeClient.onGeolocationPermissionsShowPrompt(origin, callback); } }
@Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { Logs.i(TAG, "onGeolocationPermissionsShowPrompt origin = " + origin); super.onGeolocationPermissionsShowPrompt(origin, callback); }
@Override public void onGeolocationPermissionsShowPrompt( String origin, GeolocationPermissions.Callback callback) { // Always grant permission since the app itself requires location // permission and the user has therefore already granted it callback.invoke(origin, true, false); }