Cara ini menggunakan metode, untuk memungkinkan Anda memasukkan String apa pun alih-alih memiliki input tetap. Ini menghemat beberapa baris kode jika digunakan berulang kali, karena Anda hanya perlu tiga baris untuk memanggil metode.
public Intent getWebIntent(String url) {
//Make sure it is a valid URL before parsing the URL.
if(!url.contains("http://") && !url.contains("https://")){
//If it isn't, just add the HTTP protocol at the start of the URL.
url = "http://" + url;
}
//create the intent
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)/*And parse the valid URL. It doesn't need to be changed at this point, it we don't create an instance for it*/);
if (intent.resolveActivity(getPackageManager()) != null) {
//Make sure there is an app to handle this intent
return intent;
}
//If there is no app, return null.
return null;
}
Menggunakan metode ini membuatnya dapat digunakan secara universal. TI tidak harus ditempatkan dalam aktivitas tertentu, karena Anda dapat menggunakannya seperti ini:
Intent i = getWebIntent("google.com");
if(i != null)
startActivity();
Atau jika Anda ingin memulainya di luar suatu aktivitas, Anda cukup memanggil startActivity pada instance aktivitas:
Intent i = getWebIntent("google.com");
if(i != null)
activityInstance.startActivity(i);
Seperti yang terlihat di kedua blok kode ini ada cek-nol. Ini karena mengembalikan nol jika tidak ada aplikasi untuk menangani maksud.
Metode ini default ke HTTP jika tidak ada protokol yang ditentukan, karena ada situs web yang tidak memiliki sertifikat SSL (apa yang Anda butuhkan untuk koneksi HTTPS) dan itu akan berhenti berfungsi jika Anda mencoba menggunakan HTTPS dan tidak ada . Situs web apa pun masih bisa memaksakan ke HTTPS, jadi pihak-pihak tersebut mendarat Anda di HTTPS
Karena metode ini menggunakan sumber daya luar untuk menampilkan halaman, Anda tidak perlu mendeklarasikan izin Internet. Aplikasi yang menampilkan halaman web harus melakukan itu