{"id":4035,"date":"2013-05-31T21:52:00","date_gmt":"2013-05-31T18:52:00","guid":{"rendered":"http:\/\/examples.javacodegeeks.com\/?p=4035"},"modified":"2013-08-05T09:51:27","modified_gmt":"2013-08-05T06:51:27","slug":"android-intent-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/","title":{"rendered":"Android Intent Example"},"content":{"rendered":"<p>In this example we are going to see how to use the <a href=\"http:\/\/developer.android.com\/reference\/android\/content\/Intent.html\">Android Intent<\/a> component. You can think of Intents as messages that the Android Platform sends when it wants to request the service of another resource, like launching another <a href=\"http:\/\/developer.android.com\/reference\/android\/app\/Activity.html\">Activity<\/a> or another <a href=\"http:\/\/developer.android.com\/reference\/android\/app\/Service.html\">Service<\/a>. You can send an Intent to the Android System using certain calls, like <code><span><span>startActivity<\/span><\/span><\/code> or <code><span><span>startService<\/span><\/span><\/code>. You can signal the Android System that a certain event has occurred using Intent filters.<\/p>\n<p>In this simple example we are going to start a new <code>Service<\/code> that reads the HTML code of a Web Pages and sends it back to the main Activity. Additionally, we will call an Implicit intent in order to call a built in Activity, the Web Browser that loads up a Web page.<\/p>\n<p>For this tutorial, we will use the following tools in a Windows 64-bit platform:<\/p>\n<ol>\n<li>JDK 1.7<\/li>\n<li>Eclipse 4.2 Juno<\/li>\n<li>Android SKD 4.2<\/li>\n<\/ol>\n<h3>1. Create a new Android Project<\/h3>\n<p>Open Eclipse IDE and go to File -&gt; New -&gt; Project -&gt; Android -&gt; Android Application Project.<\/p>\n<p>You have to specify the Application Name, the Project Name and the Package name in the appropriate text fields and then click Next.<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-project2.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4037\" alt=\"create-new-project\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-project2.jpg\" width=\"523\" height=\"428\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-project2.jpg 523w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-project2-300x245.jpg 300w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><\/a><\/p>\n<p>In the next window make sure the \u201cCreate activity\u201d option is selected in order to create a new activity for your project, and click Next. This is optional as you can create a new activity after creating the project, but you can do it all in one step.<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/check-create-new-activity14.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4036\" alt=\"check-create-new-activity\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/check-create-new-activity14.jpg\" width=\"521\" height=\"485\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/check-create-new-activity14.jpg 521w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/check-create-new-activity14-300x279.jpg 300w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/a><\/p>\n<p><span>Select \u201c<span>BlankActivity<\/span>\u201d and click Next.<\/span><\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/cdn.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-blanc-activity.jpg\" \/><\/p>\n<p>You will be asked to specify some information about the new activity. \u00a0In the Layout Name text field you have to specify the name of the file that will contain the layout description of your app. In our case the file\u00a0<code><span>res\/layout\/main.<span>xml<\/span><\/span><\/code>\u00a0will be created. Then, click Finish.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/cdn.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-activity-attr.jpg\" \/><\/p>\n<h3>3. Creating the layout of the Main Activity<\/h3>\n<p>Open\u00a0<code><span>res\/layout\/main.<span>xml<\/span><\/span><\/code>\u00a0file :<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-xml12.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4042\" alt=\"main-xml\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-xml12.jpg\" width=\"296\" height=\"525\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-xml12.jpg 296w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-xml12-169x300.jpg 169w\" sizes=\"(max-width: 296px) 100vw, 296px\" \/><\/a><\/p>\n<p>And paste the following code :<\/p>\n<p><em><span style=\"text-decoration: underline;\"> main.xml:<\/span><\/em><\/p>\n<pre class=\"brush:xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:orientation=\"vertical\" &gt;\r\n\r\n     &lt;Button\r\n        android:id=\"@+id\/btn2\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:onClick=\"launchbrowser\"\r\n        android:text=\"Launch Browser\" &gt;\r\n    &lt;\/Button&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/btn\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:onClick=\"readWebpage\"\r\n        android:text=\"Load Webpage\" &gt;\r\n    &lt;\/Button&gt;\r\n\r\n    &lt;WebView\r\n        android:id=\"@+id\/webView\"\r\n        android:layout_width=\"fill_parent\"\r\n        android:layout_height=\"fill_parent\" \/&gt;\r\n\r\n&lt;\/LinearLayout&gt;<\/pre>\n<h3>4. Create a new Service<\/h3>\n<p>In order to create a new Service go to the Package Explorer in the main Package an Right Click -&gt; New -&gt; Other -&gt; Android Object:<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4044\" alt=\"new-android-oject\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject.jpg\" width=\"467\" height=\"472\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject.jpg 467w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject-296x300.jpg 296w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject-100x100.jpg 100w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-android-oject-42x42.jpg 42w\" sizes=\"(max-width: 467px) 100vw, 467px\" \/><\/a><div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Click Next and Select &#8220;Service&#8221; from the list:<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-service.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4046\" alt=\"create-new-service\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-service.jpg\" width=\"494\" height=\"470\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-service.jpg 494w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/create-new-service-300x285.jpg 300w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/a><\/p>\n<p>Then specify the name of the Service and click Finish. The service will be automatically registered in the <code>AndroidManifest.xml<\/code> file.<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-service.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4045\" alt=\"new-service\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-service.jpg\" width=\"550\" height=\"415\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-service.jpg 550w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/new-service-300x226.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p><em><span style=\"text-decoration: underline;\">LoadWebPageService.java:<\/span><\/em><\/p>\n<pre class=\"brush:java\">package com.javacodegeeks.android.androidintentexample;\r\n\r\nimport java.io.BufferedReader;\r\nimport java.io.InputStream;\r\nimport java.io.InputStreamReader;\r\n\r\nimport org.apache.http.HttpResponse;\r\nimport org.apache.http.client.methods.HttpGet;\r\nimport org.apache.http.impl.client.DefaultHttpClient;\r\n\r\nimport android.app.Service;\r\nimport android.content.Intent;\r\nimport android.os.Bundle;\r\nimport android.os.IBinder;\r\nimport android.os.Message;\r\nimport android.os.Messenger;\r\nimport android.util.Log;\r\n\r\npublic class LoadWebPageService extends Service {\r\n\r\n\tprivate int MSG_ID = 2;\r\n\r\n\tpublic LoadWebPageService() {\r\n\t}\r\n\r\n\t@Override\r\n\tpublic IBinder onBind(Intent intent) {\r\n\t\tthrow new UnsupportedOperationException(\"Not yet implemented\");\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void onCreate() {\r\n\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void onStart(Intent intent, int startId) {\r\n\r\n\t\tString response = \"\";\r\n\r\n\t\tBundle extras = intent.getExtras();\r\n\r\n\t\tif (extras != null) {\r\n\t\t\tMessenger messenger = (Messenger) extras.get(\"MESSENGER\");\r\n\t\t\tString url = extras.getString(\"URL\");\r\n\t\t\tCommunicationThread comm = new CommunicationThread(messenger, url);\r\n\t\t\tnew Thread(comm).start();\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void onDestroy() {\r\n\r\n\t}\r\n\r\n\tclass CommunicationThread implements Runnable {\r\n\r\n\t\tprivate Messenger messenger;\r\n\t\tString url;\r\n\r\n\t\tpublic CommunicationThread(Messenger messenger, String url) {\r\n\r\n\t\t\tthis.messenger = messenger;\r\n\t\t\tthis.url = url;\r\n\t\t}\r\n\r\n\t\tpublic void run() {\r\n\r\n\t\t\tString response = \"\";\r\n\r\n\t\t\tDefaultHttpClient client = new DefaultHttpClient();\r\n\t\t\tHttpGet httpGet = new HttpGet(url);\r\n\r\n\t\t\ttry {\r\n\t\t\t\tHttpResponse execute = client.execute(httpGet);\r\n\t\t\t\tInputStream content = execute.getEntity().getContent();\r\n\r\n\t\t\t\tBufferedReader buffer = new BufferedReader(new InputStreamReader(content));\r\n\t\t\t\tString s = \"\";\r\n\r\n\t\t\t\twhile ((s = buffer.readLine()) != null) {\r\n\t\t\t\t\tresponse += s;\r\n\t\t\t\t}\r\n\r\n\t\t\t} catch (Exception e) {\r\n\t\t\t\te.printStackTrace();\r\n\t\t\t}\r\n\r\n\t\t\tMessage msg = Message.obtain();\r\n\t\t\tmsg.arg1 = MSG_ID;\r\n\t\t\tmsg.obj = response + \"Hello\";\r\n\t\t\ttry {\r\n\t\t\t\tmessenger.send(msg);\r\n\t\t\t} catch (android.os.RemoteException re) {\r\n\t\t\t\tLog.w(getClass().getName(), \"Exception sending message\", re);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n}<\/pre>\n<h3>5. Code the Main Activity<\/h3>\n<p><span>Use the Package Explorer to navigate to the Java file of the Activity you&#8217;ve created:<\/span><\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-src-files.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4041\" alt=\"main-src-files\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-src-files.jpg\" width=\"433\" height=\"328\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-src-files.jpg 433w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-src-files-300x227.jpg 300w\" sizes=\"(max-width: 433px) 100vw, 433px\" \/><\/a><\/p>\n<p>The basic idea is to launch a new <code>Service<\/code> using an <code>Intent<\/code>. Additionally, we want to pass a <code>Messenger<\/code> and a URL to the new <code>Service<\/code>. The messenger object will be used from the service (as you saw above) in order to send the received HTML back to the main <code>Activity<\/code> (this is only one of many ways that an <code>Activity<\/code> can communicate with a <code>Service<\/code>). Then when we receive the HTML \u00a0we update the UI using a\u00a0<code>Handler<\/code>.\u00a0The\u00a0<code>Handler<\/code>\u00a0takes a\u00a0<a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/Runnable.html\"><code>Runnable<\/code><\/a><span>\u00a0object and it schedules its execution; it places the runnable process as a job in an execution queue\u00a0to be run after a specified amount of time. The runnable will be run on the thread to which this handler is attached. In our case the handler is <span>registered<\/span> in the main thread.<\/span><\/p>\n<p>Go to the java file that contains the code of the activity\u00a0<span>you\u2019ve<\/span>\u00a0just created and paste the following code:<\/p>\n<p><span style=\"text-decoration: underline;\"><em><span><span>MainActivity<\/span>.java:<\/span><\/em><\/span><\/p>\n<pre class=\"brush:java\">package com.javacodegeeks.android.androidintentexample;\r\n\r\nimport android.app.Activity;\r\nimport android.content.ActivityNotFoundException;\r\nimport android.content.Context;\r\nimport android.content.Intent;\r\nimport android.net.Uri;\r\nimport android.os.Bundle;\r\nimport android.os.Handler;\r\nimport android.os.Message;\r\nimport android.os.Messenger;\r\nimport android.view.View;\r\nimport android.webkit.WebView;\r\n\r\npublic class MainActivity extends Activity {\r\n\r\n\tprivate static int MSG_ID = 2;\r\n\tprivate Handler handler;\r\n\tfinal Context context = this;\r\n\tprivate WebView webView;\r\n\tprivate String content;\r\n\r\n\t@Override\r\n\tpublic void onCreate(Bundle savedInstanceState) {\r\n\r\n\t\tsuper.onCreate(savedInstanceState);\r\n\t\tsetContentView(R.layout.main);\r\n\r\n\t\twebView = (WebView) findViewById(R.id.webView);\r\n\t\twebView.getSettings().setJavaScriptEnabled(true);\r\n\r\n\t\thandler = new Handler() {\r\n\r\n\t\t\t@Override\r\n\t\t\tpublic void handleMessage(Message message) {\r\n\r\n\t\t\t\tif (message.arg1 == MSG_ID) {\r\n\r\n\t\t\t\t\tcontent = (String) message.obj;\r\n\r\n\t\t\t\t\tthis.post(new Runnable() {\r\n\r\n\t\t\t\t\t\tpublic void run() {\r\n\r\n\t\t\t\t\t\t\twebView.loadData(content, \"text\/html; charset=UTF-8\", null);\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t}\r\n\r\n\tpublic void readWebpage(View view) {\r\n\r\n\t\tIntent intent = new Intent(this, LoadWebPageService.class);\r\n\r\n\t\tMessenger messenger = new Messenger(handler);\r\n\t\tintent.putExtra(\"MESSENGER\", messenger);\r\n\t\tintent.putExtra(\"URL\", \"http:\/\/examples.javacodegeeks.com\");\r\n\t\tstartService(intent);\r\n\r\n\t}\r\n\r\npublic void launchbrowser(View view) {\r\n\r\n\tIntent intentImplicit = new Intent(Intent.ACTION_VIEW, Uri.parse(\"http:\/\/examples.javacodegeeks.com\"));\r\n    try { \r\n          startActivity(intentImplicit);\r\n        } catch (ActivityNotFoundException ex) { \r\n            ex.printStackTrace();\r\n        }\r\n\r\n\t}\r\n}<\/pre>\n<p>The\u00a0<code>Handler\u00a0<\/code>component is a very interesting feature. Take a look at the\u00a0<a href=\"http:\/\/developer.android.com\/reference\/android\/os\/Handler.html\">Android Handler Documentation<\/a>\u00a0and this <a href=\"http:\/\/examples.javacodegeeks.com\/android\/core\/os\/handler\/android-handler-example\/\">Android Handler example<\/a> as well.<\/p>\n<h3>6. Set INTERNET permissions in AndroidManifest.xml<\/h3>\n<p>Go to the Package Explorer and Open AndroidManifest.xml:<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/manifest3.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4056\" alt=\"manifest\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/manifest3.jpg\" width=\"456\" height=\"273\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/manifest3.jpg 456w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/manifest3-300x179.jpg 300w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/a><\/p>\n<p>You have to set up the approprate permissions in order to connect to Web Pages:<\/p>\n<pre class=\"brush:xml\">    &lt;uses-permission android:name=\"android.permission.INTERNET\" &gt;\r\n    &lt;\/uses-permission&gt;\r\n    &lt;uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" &gt;\r\n    &lt;\/uses-permission&gt;<\/pre>\n<p>So here is the manifest file.<\/p>\n<p><em><span style=\"text-decoration: underline;\">AndroidManifest.xml:<\/span><\/em><\/p>\n<pre class=\"brush:xml\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;manifest xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    package=\"com.javacodegeeks.android.androidintentexample\"\r\n    android:versionCode=\"1\"\r\n    android:versionName=\"1.0\" &gt;\r\n\r\n    &lt;uses-sdk\r\n        android:minSdkVersion=\"8\"\r\n        android:targetSdkVersion=\"17\" \/&gt;\r\n\r\n    &lt;uses-permission android:name=\"android.permission.INTERNET\" &gt;\r\n    &lt;\/uses-permission&gt;\r\n    &lt;uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" &gt;\r\n    &lt;\/uses-permission&gt;\r\n\r\n    &lt;application\r\n        android:allowBackup=\"true\"\r\n        android:icon=\"@drawable\/ic_launcher\"\r\n        android:label=\"@string\/app_name\"\r\n        android:theme=\"@style\/AppTheme\" &gt;\r\n        &lt;activity\r\n            android:name=\"com.javacodegeeks.android.androidintentexample.MainActivity\"\r\n            android:label=\"@string\/app_name\" &gt;\r\n            &lt;intent-filter&gt;\r\n                &lt;action android:name=\"android.intent.action.MAIN\" \/&gt;\r\n\r\n                &lt;category android:name=\"android.intent.category.LAUNCHER\" \/&gt;\r\n            &lt;\/intent-filter&gt;\r\n        &lt;\/activity&gt;\r\n\r\n        &lt;service\r\n            android:name=\"com.javacodegeeks.android.androidintentexample.LoadWebPageService\"\r\n            android:enabled=\"true\"\r\n            android:exported=\"true\" &gt;\r\n        &lt;\/service&gt;\r\n    &lt;\/application&gt;\r\n\r\n&lt;\/manifest&gt;<\/pre>\n<h3>7. Run the application<\/h3>\n<p>This is the main screen of our Application:<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-screen18.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4040\" alt=\"main-screen\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-screen18.jpg\" width=\"256\" height=\"470\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-screen18.jpg 256w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/main-screen18-163x300.jpg 163w\" sizes=\"(max-width: 256px) 100vw, 256px\" \/><\/a><\/p>\n<p><span>Now, when you press the \u201cLoad <span>Webpage<\/span>\u201d button :<\/span><\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/loaded-page.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4039\" alt=\"loaded-page\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/loaded-page.jpg\" width=\"256\" height=\"470\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/loaded-page.jpg 256w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/loaded-page-163x300.jpg 163w\" sizes=\"(max-width: 256px) 100vw, 256px\" \/><\/a><\/p>\n<p>And when you press the \u201cLaunch Browser\u201d button:<\/p>\n<p><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/launch-browser.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-4038\" alt=\"launch-browser\" src=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/launch-browser.jpg\" width=\"256\" height=\"470\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/launch-browser.jpg 256w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/launch-browser-163x300.jpg 163w\" sizes=\"(max-width: 256px) 100vw, 256px\" \/><\/a><\/p>\n<h3>Download Eclipse Project<\/h3>\n<p>This was an Android Intent Example. Download the Eclipse Project of this tutorial:\u00a0<a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/05\/AndroidIntentExample.zip\">AndroidIntentExample.zip<\/a><a href=\"http:\/\/jcg-examples.javacodegeeks.netdna-cdn.com\/wp-content\/uploads\/2013\/05\/AndroidProgressDialogExample.zip\"><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it wants to request the service of another resource, like launching another Activity or another Service. You can send an Intent to the Android System using certain &hellip;<\/p>\n","protected":false},"author":4,"featured_media":1202,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[451],"tags":[],"class_list":["post-4035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-intent"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Android Intent Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Intent Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2013-05-31T18:52:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-08-05T06:51:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nikos Maravitsas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikos Maravitsas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\"},\"author\":{\"name\":\"Nikos Maravitsas\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/686a494fbb577a8d1231862b139cda6b\"},\"headline\":\"Android Intent Example\",\"datePublished\":\"2013-05-31T18:52:00+00:00\",\"dateModified\":\"2013-08-05T06:51:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\"},\"wordCount\":648,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg\",\"articleSection\":[\"Intent\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\",\"name\":\"Android Intent Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg\",\"datePublished\":\"2013-05-31T18:52:00+00:00\",\"dateModified\":\"2013-08-05T06:51:27+00:00\",\"description\":\"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/android\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"core\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"content\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/content\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Intent\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/content\/intent\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Android Intent Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/686a494fbb577a8d1231862b139cda6b\",\"name\":\"Nikos Maravitsas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Nikos-Maravitsas-80x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Nikos-Maravitsas-80x96.jpg\",\"caption\":\"Nikos Maravitsas\"},\"description\":\"Nikos has graduated from the Department of Informatics and Telecommunications of The National and Kapodistrian University of Athens. During his studies he discovered his interests about software development and he has successfully completed numerous assignments in a variety of fields. Currently, his main interests are system\u2019s security, parallel systems, artificial intelligence, operating systems, system programming, telecommunications, web applications, human \u2013 machine interaction and mobile development.\",\"sameAs\":[\"http:\/\/www.javacodegeeks.com\/\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/nikos-maravitsas\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Intent Example - Java Code Geeks","description":"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/","og_locale":"en_US","og_type":"article","og_title":"Android Intent Example - Java Code Geeks","og_description":"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it","og_url":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2013-05-31T18:52:00+00:00","article_modified_time":"2013-08-05T06:51:27+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg","type":"image\/jpeg"}],"author":"Nikos Maravitsas","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Nikos Maravitsas","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/"},"author":{"name":"Nikos Maravitsas","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/686a494fbb577a8d1231862b139cda6b"},"headline":"Android Intent Example","datePublished":"2013-05-31T18:52:00+00:00","dateModified":"2013-08-05T06:51:27+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/"},"wordCount":648,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg","articleSection":["Intent"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/","url":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/","name":"Android Intent Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg","datePublished":"2013-05-31T18:52:00+00:00","dateModified":"2013-08-05T06:51:27+00:00","description":"In this example we are going to see how to use the Android Intent component. You can think of Intents as messages that the Android Platform sends when it","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/android-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/android\/core\/content\/intent\/android-intent-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Android","item":"https:\/\/examples.javacodegeeks.com\/category\/android\/"},{"@type":"ListItem","position":3,"name":"core","item":"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/"},{"@type":"ListItem","position":4,"name":"content","item":"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/content\/"},{"@type":"ListItem","position":5,"name":"Intent","item":"https:\/\/examples.javacodegeeks.com\/category\/android\/core\/content\/intent\/"},{"@type":"ListItem","position":6,"name":"Android Intent Example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/686a494fbb577a8d1231862b139cda6b","name":"Nikos Maravitsas","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Nikos-Maravitsas-80x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2013\/10\/Nikos-Maravitsas-80x96.jpg","caption":"Nikos Maravitsas"},"description":"Nikos has graduated from the Department of Informatics and Telecommunications of The National and Kapodistrian University of Athens. During his studies he discovered his interests about software development and he has successfully completed numerous assignments in a variety of fields. Currently, his main interests are system\u2019s security, parallel systems, artificial intelligence, operating systems, system programming, telecommunications, web applications, human \u2013 machine interaction and mobile development.","sameAs":["http:\/\/www.javacodegeeks.com\/"],"url":"https:\/\/examples.javacodegeeks.com\/author\/nikos-maravitsas\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/4035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=4035"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/4035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1202"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=4035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=4035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=4035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}