Bu şekilde, sabit bir girdi yerine herhangi bir String girmenize izin veren bir yöntem kullanılır. Bu, yöntemi çağırmak için yalnızca üç satıra ihtiyacınız olduğu için, tekrarlanan miktarda kullanıldığında bazı kod satırlarını kaydeder.
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;
}
Bu yöntemi kullanmak, evrensel olarak kullanılabilir olmasını sağlar. Bunun gibi kullanabileceğiniz için BT'nin belirli bir etkinliğe yerleştirilmesi gerekmez:
Intent i = getWebIntent("google.com");
if(i != null)
startActivity();
Veya bir etkinliğin dışında başlatmak istiyorsanız, etkinlik örneğinde startActivity'yi çağırmanız yeterlidir:
Intent i = getWebIntent("google.com");
if(i != null)
activityInstance.startActivity(i);
Bu kod bloklarının her ikisinde de görüldüğü gibi bir null kontrol vardır. Niyeti işleyecek bir uygulama yoksa null değerini döndürür.
SSL sertifikası olmayan (HTTPS bağlantısı için gerekenler) web siteleri olduğundan ve HTTPS kullanmaya çalışırsanız ve orada değilse, bu yöntem varsayılan olarak HTTP olarak varsayılan olarak ayarlanır. . Herhangi bir web sitesi hala HTTPS'ye zorlanabilir, bu nedenle bu taraflar sizi her iki şekilde HTTPS'ye indirir
Bu yöntem sayfayı görüntülemek için dış kaynakları kullandığı için, İnternet iznini bildirmenize gerek yoktur. Web sayfasını görüntüleyen uygulamanın bunu yapması gerekir