¿Cómo se carga una url dentro de una webview en lugar de androids navegador interno?
Estoy tratando de lograr esto: MKyong – WebView . Para obtener una pista de lo que exactamente, a continuación, eche un vistazo a la última imagen antes de "Descargar código fuente".
Mi código de aplicaciones es:
- Agregar una vista al final de Webview
- Web android captura peor url
- Funciones de JavaScript de Android Calling en WebView
- Android - Cómo hacer una llamada telefónica desde webview
- Reproducción tardía de la webview de Android
bookingView = (WebView) findViewById(R.id.fullscreen_content); bookingView.getSettings().setJavaScriptEnabled(true); bookingView.loadUrl("http://www.google.com");
Pero lo que hace ese código es abrir la url (en este caso Google) dentro del navegador por defecto / navegador interno en android y no está destinado a ser que en la aplicación de Android que estoy haciendo.
¿Algunas ideas?
- Deshabilitar SoftKeyboard dentro de un WebView
- URL de la ventana nueva de WebView de Android
- Webview con interfaz de JavaScript
- ¿Por qué WebView en el código fuente del SDK amplía MockView?
- ¿WebView no carga datos?
- Rendimiento de Android WebView
- Webview que no muestra hipervínculos
- Android obtiene la altura del contenido de la webview una vez procesado
Agregue esta línea antes de la llamada loadUrl()
bookingView.setWebViewClient(new WebViewClient());
Esta es la respuesta:
Caracteristicas
- Cargar una URL en WebView
- Abrir otra página en el sitio web en Webview no en el navegador local.
- Si presiona en backbutton irá a la página anterior no fuera de la aplicación.
MainActivity.java
public class MainActivity extends AppCompatActivity { WebView webview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webview = (WebView)findViewById(R.id.webview); webView(); } //Metodo llamar el webview private void webView(){ //Habilitar JavaScript (Videos youtube) webview.getSettings().setJavaScriptEnabled(true); //Handling Page Navigation webview.setWebViewClient(new MyWebViewClient()); //Load a URL on WebView webview.loadUrl("http://stackoverflow.com/"); } // Metodo Navigating web page history @Override public void onBackPressed() { if(webview.canGoBack()) { webview.goBack(); } else { super.onBackPressed(); } } // Subclase WebViewClient() para Handling Page Navigation private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Uri.parse(url).getHost().equals("stackoverflow.com")) { //Force to open the url in WEBVIEW return false; } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } } }
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
Incluir esto en AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.webview" > <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
RESULTADO
PÁGINA DE INICIO
OTRA PÁGINA EN EL SITIO WEB EN LA WEBVIEW
- Eliminar el número especificado de filas de la base de datos SQLite
- Tamaño de texto de Android por programa demasiado grande