Android: Opening a webpage in your app using Intents
Opening up a website from an application in android is very simple thanks to “Intents”. An Intent is a request to android use an application to preform a task. The code below shows a very simple example of launching a browser to go to the wordcube website.
Context context = getApplicationContext();
String url = "http://www.stealthcopter.com/wordcube";
Intent i = new Intent(Intent.ACTION_VIEW);
Uri u = Uri.parse(url);
i.setData(u);
try {
// Start the activity
startActivity(i);
} catch (ActivityNotFoundException e) {
// Raise on activity not found
Toast toast = Toast.makeText(context, "Browser not found.", Toast.LENGTH_SHORT);
}
As pointed out in the comments, the context can be replaced by the activity itself, such as TestApp.this. eg:
Toast toast = Toast.makeText(TestApp.this, "Browser not found.", Toast.LENGTH_SHORT);
We have surrounded the activity with a try/catch which will be raised if android cannot find an application that will accept this intent, in this case a web-browser. It is highly unlikely that an android phone will not have a web-browser installed but it is a good practise to get into.




You don’t need the getApplicationContext() line. Just use whatever Activity, Service, etc. your code is running in, as they are all subclasses of Context. Also, you can put the Uri in the Intent constructor rather than in a separate setData() call: new Intent(Intent.ACTION_VIEW, Uri.parse(“http://www.stealthcopter.com/wordcube”))
Yes I usually use TestApp.this or whatever to call this function, I just wanted to show an example that would work independently.