Cara menggunakan php cast to subclass

Jika ingin menyediakan aplikasi web (atau hanya halaman web) sebagai bagian dari aplikasi klien, Anda dapat melakukannya menggunakan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5. Class WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 adalah ekstensi class WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 7 Android yang memungkinkan Anda menampilkan halaman web sebagai bagian dari tata letak aktivitas Anda. Class ini tidak menyertakan fitur apa pun dari browser web yang dikembangkan sepenuhnya, seperti kontrol navigasi atau kolom URL. Semua yang dilakukan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 secara default adalah menampilkan halaman web.

Skenario umum ketika menggunakan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 menjadi sangat membantu adalah saat Anda ingin memberikan informasi di aplikasi yang mungkin perlu diperbarui, seperti perjanjian pengguna akhir atau panduan pengguna. Dalam aplikasi Android, Anda dapat membuat val myWebView = WebView(activityContext) setContentView(myWebView) 0 yang berisi WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5, lalu menggunakannya untuk menampilkan dokumen Anda yang dihosting secara online.

Skenario lain ketika WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 menjadi sangat membantu adalah saat aplikasi Anda memberikan data kepada pengguna yang selalu memerlukan koneksi internet untuk mengambil data, seperti email. Dalam kasus ini, Anda mungkin menyadari bahwa lebih mudah untuk membuat WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 di aplikasi Android Anda yang menampilkan halaman web dengan semua data pengguna, daripada membuat permintaan jaringan, lalu mengurai data, dan merendernya dalam tata letak Android. Sebagai gantinya, Anda dapat merancang halaman web yang disesuaikan untuk perangkat Android, lalu menerapkan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 di aplikasi Android Anda yang memuat halaman web.

Dokumen ini menunjukkan cara memulai WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 dan cara melakukan beberapa hal tambahan, seperti menangani navigasi halaman dan mengikat JavaScript dari halaman web Anda ke kode sisi klien di aplikasi Android Anda.

Menambahkan WebView ke aplikasi Anda

Untuk menambahkan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 di aplikasi, Anda dapat menyertakan elemen val myWebView = WebView(activityContext) setContentView(myWebView) 7 di tata letak aktivitas, atau menetapkan seluruh jendela Aktivitas sebagai val myWebView = WebView(activityContext) setContentView(myWebView) 8 di val myWebView = WebView(activityContext) setContentView(myWebView) 9.

Menambahkan WebView di tata letak aktivitas

Untuk menambahkan val myWebView = WebView(activityContext) setContentView(myWebView) 8 ke aplikasi Anda di tata letak, tambahkan kode berikut ke file XML tata letak aktivitas Anda:

<WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" />

Untuk memuat halaman web di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5, gunakan WebView myWebView = new WebView(activityContext); setContentView(myWebView); 2. Contoh:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com")

Java

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com");

Menambahkan WebView di onCreate()

Untuk menambahkan val myWebView = WebView(activityContext) setContentView(myWebView) 8 ke aplikasi Anda di metode val myWebView = WebView(activityContext) setContentView(myWebView) 9 aktivitas, gunakan logika yang mirip dengan yang berikut ini:

Kotlin

val myWebView = WebView(activityContext) setContentView(myWebView)

Java

WebView myWebView = new WebView(activityContext); setContentView(myWebView);

Kemudian muat halaman dengan:

Kotlin

myWebView.loadUrl("//www.example.com")

Java

myWebView.loadUrl("//www.example.com");

Atau muat URL dari string HTML:

Kotlin

// Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64")

Java

// Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. String unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;"; String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING); myWebView.loadData(encodedHtml, "text/html", "base64");

Catatan: Ada beberapa batasan pada hal yang dapat dilakukan HTML ini. Lihat dan untuk informasi selengkapnya tentang opsi encoding.

Namun, sebelum berfungsi, aplikasi Anda harus memiliki akses ke Internet. Untuk mendapatkan akses Internet, minta izin WebView myWebView = new WebView(activityContext); setContentView(myWebView); 7 di file manifes Anda. Contoh:

<manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest>

Itulah semua yang Anda butuhkan untuk dasar WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 yang menampilkan halaman web. Selain itu, Anda dapat menyesuaikan val myWebView = WebView(activityContext) setContentView(myWebView) 8 dengan mengubah hal-hal berikut:

  • Mengaktifkan dukungan layar penuh dengan myWebView.loadUrl("//www.example.com") 0. Class ini juga dipanggil saat val myWebView = WebView(activityContext) setContentView(myWebView) 8 memerlukan izin untuk mengubah UI aplikasi host, seperti membuat atau menutup jendela dan mengirim dialog JavaScript kepada pengguna. Untuk mempelajari lebih lanjut proses debug dalam konteks ini, baca Proses Debug Aplikasi Web.
  • Menangani peristiwa yang memengaruhi perenderan konten, seperti error pada pengiriman formulir atau navigasi dengan myWebView.loadUrl("//www.example.com") 2. Anda juga dapat menggunakan subclass ini untuk mengintersep pemuatan URL.
  • Mengaktifkan JavaScript dengan mengubah myWebView.loadUrl("//www.example.com") 3.
  • Menggunakan JavaScript untuk mengakses objek framework Android yang telah Anda masukkan ke dalam val myWebView = WebView(activityContext) setContentView(myWebView) 8.

Menggunakan JavaScript di WebView

Jika halaman web yang ingin dimuat di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 menggunakan JavaScript, Anda harus mengaktifkan JavaScript untuk Anda. Setelah JavaScript diaktifkan, Anda juga dapat membuat antarmuka di antara kode aplikasi dan kode JavaScript.

Mengaktifkan JavaScript

JavaScript dinonaktifkan di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 secara default. Anda dapat mengaktifkannya melalui myWebView.loadUrl("//www.example.com") 7 yang dilampirkan pada WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5. Anda dapat mengambil myWebView.loadUrl("//www.example.com") 7 dengan myWebView.loadUrl("//www.example.com"); 0, lalu mengaktifkan JavaScript dengan myWebView.loadUrl("//www.example.com"); 1.

Contoh:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 0

Java

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 1

myWebView.loadUrl("//www.example.com") 7 memberikan akses ke berbagai setelan lain yang mungkin berguna bagi Anda. Misalnya, jika mengembangkan aplikasi web yang dirancang khusus untuk WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 di aplikasi Android, Anda dapat menentukan string agen pengguna kustom dengan myWebView.loadUrl("//www.example.com"); 4, lalu mengkueri agen pengguna kustom di halaman web Anda untuk memverifikasi bahwa klien yang meminta halaman web Anda sebenarnya adalah aplikasi Android Anda.

Mengikat kode JavaScript ke kode Android

Saat mengembangkan aplikasi web yang dirancang khusus untuk WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 di aplikasi Android, Anda dapat membuat antarmuka di antara kode JavaScript dan kode Android sisi klien. Misalnya, kode JavaScript dapat memanggil metode di kode Android untuk menampilkan myWebView.loadUrl("//www.example.com"); 6, alih-alih menggunakan fungsi myWebView.loadUrl("//www.example.com"); 7 JavaScript.

Untuk mengikat antarmuka baru di antara kode JavaScript dan Android, panggil myWebView.loadUrl("//www.example.com"); 8, dengan meneruskannya instance class untuk mengikat JavaScript dan nama antarmuka yang dapat dipanggil oleh JavaScript untuk mengakses class tersebut.

Misalnya, Anda dapat menyertakan class berikut di aplikasi Android:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 2

Java

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 3

Perhatian: Jika telah menetapkan ke 17 atau yang lebih tinggi, Anda harus menambahkan anotasi // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 0 ke metode apa pun yang ingin disediakan untuk JavaScript Anda (metode tersebut juga harus bersifat publik). Jika Anda tidak memberikan anotasi tersebut, metode ini tidak dapat diakses oleh halaman web Anda saat berjalan di Android 4.2 atau yang lebih tinggi.

Dalam contoh ini, class // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 1 memungkinkan halaman web untuk membuat pesan // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 2, menggunakan metode // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 3.

Anda dapat mengikat class ini ke JavaScript yang berjalan di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 dengan myWebView.loadUrl("//www.example.com"); 8 dan menamai antarmuka // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 6. Contoh:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 4

Java

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 5

Tindakan ini akan membuat antarmuka yang disebut // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 6 untuk JavaScript berjalan di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5. Pada tahap ini, aplikasi web Anda memiliki akses ke class // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 1. Misalnya, berikut beberapa HTML dan JavaScript yang membuat pesan toast menggunakan antarmuka baru saat pengguna mengklik tombol:

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 6

Anda tidak perlu melakukan inisialisasi antarmuka // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 6 dari JavaScript. WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 otomatis membuatnya tersedia untuk halaman web Anda. Jadi, saat klik tombol, fungsi // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. String unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;"; String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING); myWebView.loadData(encodedHtml, "text/html", "base64"); 2 akan menggunakan antarmuka // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. val unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;" val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING) myWebView.loadData(encodedHtml, "text/html", "base64") 6 untuk memanggil metode // Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. String unencodedHtml = "&lt;html&gt;&lt;body&gt;'%23' is the percent code for ‘#‘ &lt;/body&gt;&lt;/html&gt;"; String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING); myWebView.loadData(encodedHtml, "text/html", "base64"); 4.

Catatan: Objek yang terikat ke JavaScript Anda berjalan di thread lain dan bukan di thread tempat objek tersebut dibuat.

Perhatian: Menggunakan myWebView.loadUrl("//www.example.com"); 8 memungkinkan JavaScript mengontrol aplikasi Android Anda. Tindakan ini dapat menjadi fitur yang sangat berguna atau masalah keamanan yang berbahaya. Saat HTML di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 tidak dapat dipercaya (misalnya, sebagian atau seluruh HTML disediakan oleh orang atau proses yang tidak dikenal), maka penyerang dapat menyertakan HTML yang menjalankan kode sisi klien Anda dan kemungkinan semua kode yang dipilih penyerang tersebut. Dengan demikian, Anda tidak boleh menggunakan myWebView.loadUrl("//www.example.com"); 8 kecuali untuk menulis semua HTML dan JavaScript yang muncul di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5. Anda seharusnya juga tidak mengizinkan pengguna untuk membuka halaman web lain yang bukan milik Anda, dalam WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 (sebagai gantinya, izinkan aplikasi browser default pengguna untuk membuka link asing—secara default, browser web pengguna akan membuka semua link URL, jadi berhati-hatilah jika Anda menangani navigasi halaman seperti yang dijelaskan di bagian berikut).

Menangani navigasi halaman

Saat pengguna mengklik link dari halaman web di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5, perilaku defaultnya adalah Android meluncurkan aplikasi yang menangani URL. Biasanya, browser web default akan membuka dan memuat URL tujuan. Namun, Anda dapat mengganti perilaku ini untuk WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5, sehingga link akan terbuka dalam WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5. Anda kemudian dapat mengizinkan pengguna untuk menavigasi mundur dan maju pada histori halaman web mereka yang dikelola oleh WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 Anda.

Catatan: Demi alasan keamanan, aplikasi browser sistem tidak akan membagikan data aplikasinya dengan aplikasi Anda.

Untuk membuka link yang diklik oleh pengguna, berikan <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 4 untuk WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 Anda, menggunakan <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 6. Contoh:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 7

Java

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 8

Selesai. Sekarang semua link yang diklik pengguna akan dimuat di WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 Anda.

Jika Anda menginginkan kontrol lebih untuk tempat link yang diklik dimuat, buat <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 4 Anda sendiri yang menggantikan metode <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 9. Contoh:

Kotlin

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 9

Java

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 0

Kemudian, buat instance <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 4 baru ini untuk WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5:

Kotlin

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 1

Java

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 2

Sekarang, saat pengguna mengklik link, sistem akan memanggil <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 9, yang memeriksa apakah host URL cocok dengan domain tertentu atau tidak (seperti yang dijelaskan di atas). Jika cocok, maka metode akan menampilkan false agar tidak mengganti pemuatan URL (memungkinkan WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 untuk memuat URL seperti biasa). Jika host URL tidak cocok, maka val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 04 akan dibuat guna meluncurkan Aktivitas default untuk menangani URL (yang dicocokkan untuk browser web default pengguna).

Menavigasi histori halaman web

Saat mengganti pemuatan URL, WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 5 Anda otomatis mengakumulasi histori halaman web yang dikunjungi. Anda dapat menavigasi mundur dan maju di histori dengan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 06 dan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 07.

Misalnya, berikut adalah cara val myWebView = WebView(activityContext) setContentView(myWebView) 0 Anda dapat menggunakan tombol Kembali perangkat untuk menavigasi mundur:

Kotlin

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 3

Java

WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("//www.example.com"); 4

val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 09 akan menampilkan true jika benar-benar ada histori halaman web untuk dikunjungi pengguna. Demikian juga, Anda dapat menggunakan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 10 untuk memeriksa apakah ada histori penerusan. Jika Anda tidak melakukan pemeriksaan ini setelah pengguna mencapai akhir histori, maka val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 06 atau val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 07 tidak akan melakukan apa-apa.

Menangani perubahan konfigurasi perangkat

Selama waktu proses, perubahan status aktivitas terjadi saat konfigurasi perangkat berubah, misalnya saat pengguna memutar perangkat atau menutup editor metode masukan (IME). Perubahan ini akan menyebabkan objek val myWebView = WebView(activityContext) setContentView(myWebView) 8 aktivitas diakhiri dan aktivitas baru dibuat, yang juga membuat objek val myWebView = WebView(activityContext) setContentView(myWebView) 8 baru yang akan memuat URL objek yang dihancurkan. Untuk mengubah perilaku default aktivitas, Anda dapat mengubah caranya menangani perubahan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 15 di manifes Anda. Untuk mempelajari lebih lanjut penanganan perubahan konfigurasi selama waktu proses, baca Menangani perubahan konfigurasi.

Mengelola jendela

Secara default, permintaan untuk membuka jendela baru akan diabaikan. Hal ini berlaku jika jendela tersebut dibuka oleh JavaScript atau atribut target di suatu link. Anda dapat menyesuaikan myWebView.loadUrl("//www.example.com") 0 untuk memberikan perilaku Anda sendiri saat membuka beberapa jendela.

Perhatian: Agar aplikasi Anda lebih aman, sebaiknya cegah pop-up dan jendela baru agar tidak terbuka. Cara paling aman untuk mengimplementasikan perilaku ini adalah dengan meneruskan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 17 ke dalam tetapi tidak mengganti metode , yang merupakan metode tempat val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 18 bergantung. Namun, perhatikan bahwa logika ini juga mencegah semua halaman yang menggunakan val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("//www.example.com") 21 di linknya untuk dimuat.

Postingan terbaru

LIHAT SEMUA