skip to main | skip to sidebar

Android Development Tutorial

Pages

  • Home
 
  • RSS
  • Twitter
Related Posts Plugin for WordPress, Blogger...
Wednesday, February 22, 2012

Implicit Intents in Android System with Example

Posted by Tanmay Jhawar at 4:44 AM – 0 comments
 
What are Android Implicit Intent? How to create implicit intents in android system? Android implicit intents example and explanation.

Implicit Intents are used to specify particular actions that your application is capable of doing and any application on the android system capable of that will be able to use your application and users will be able to choose which app they wanna use.

E.g. suppose your application is capable of sending photos.
User wants to share a photo


By default when users tap on the share option on their android phone they will either see the messaging screen asking them to enter the recipient’s number or a couple of options like via messages or Bluetooth etc to choose from.

When user taps on the share option he sees the above screen (Your app is not installed at the moment.

By using implicit intents you can enlist your application along with these message and Bluetooth options and whenever user wants to share a photo he can choose from one of these applications including yours. 

After installing your app that uses implicit intents, now the user sees the above screen and can choose any option as he likes.

How to create Implicit Intents in Android?

To create an implicit intent like I mentioned in above example, first of all you’ll have to make some additions in your AndroidManifest.XML file. When you open your manifest file you’ll notice a tag named intent-filter. This tag tells the android system what are the intentions of your application or rather a particular activity in your application e.g. for your main activity the intent-filter contains an entry mentioning that this activity should be launched when the application is launched.

Modifying Manifest file -

So you’ll have to make entries for other implicit intents too. So create an intent-filter for your implicit intent and specify three things -

  • An Action – what kind of action is your activity performing or rather what is your intent.
  • A Category – what's the category of your intent.
  • Data – type of data your application is capable of handling. 

For our example of sending images following additions should be done in AndroidManifest.XML file.

<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="image/*" />
</intent-filter>

Put the above XML code inside the activity in which you're enabling implicit intents just before the close of activity tag i.e. </activity> or if you want to enable the implicit intents for your entire app put the above xml lines after the main intent filter in your AndroidManifest.XML file.

The above lines tell the android system that your application (or a particular activity in your app) can perform send operation and is capable of handling any type of image. So whenever users try to send an image, android  system will automatically enlist your app along with other capable apps so that user can choose one.


Creating a layout i.e UI and Writing the Code- 

Now that you have modified your manifest file, it's time to get into the UI and coding part. First, create an ImageView in your main.xml file (or whatever’s the name of your xml layout file for this activity) and write the following code in your main java file just after you use the setContentView() method.

        ImageView iv = (ImageView) findViewById(R.id.imageView1);
        try{
iv.setImageURI((Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM));
        } catch(Exception e){}

The first line here is used to get a reference to the ImageView you just created in your main.xml file.

Note: Whenever you create an ImageView or any other UI element android system automatically assigns it an id. I used the automatically generated id i.e. imageview1 in the first line. If you want to change id of your ImageView feel free to do so but make sure to change it in the code too.   

Next inside the try block we’re setting the image in that ImageView to the image that user selected. The use of try-catch here is to handle errors that can occur when your app is opened directly without any image provided to it. 

Let’s break the code inside try statement further – 

iv.setImageURI((Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM));

Here, iv is the object of ImageView referencing to our ImageView and using setImageURI() method of android we’re setting an image manually in that ImageView (iv). The setImageURI() method takes a URI as a parameter and sets the image in the ImageView to that URI. Now to get the URI of the image that user wants to share we use the intent.

The method getIntent() will return the intent. Then using getExtras() method of Intent class we can get all extra parameters that are passed along with the intent. Here only image is passed so using get(Intent.EXTRA_STREAM) we retrieve the image from the intent and then we need to cast the returned value to URI and pass it to the setImageURI() method and finally we're setting the image inside the ImageView.

This example is as simple as it can get and aimed just to show you how implicit intents can be used to enhance your app.
Labels: Android example, Android ImageView, Android intents, Implicit Intents, Implicit Intents Example, Passing Values with Intents, Retrieving Image URI from Intents Email This BlogThis! Share to X Share to Facebook

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments (Atom)

More Technical Blogs

  • Tech Savvy - Technology Tips
  • PHP Video Tutorial
  • Java Programs with Output
  • C Programming Tutorial
  • Linux Tutorial
  • Language Tutorial
  • Web Development tutorial
  • Popular
  • Recent
  • Archives

Popular Posts

  • Test Application for Samsung Android devices
    This test application write the traces from device to confirm the device behaviour. import java.io.File; import android.app.Activity; ...
  • What are Intents in Android?
    What are Intents in Android System? Different types of Intents in Android System. Example of how to create different types of Intents.
  • Android Video Tutorial - Learn How to Unit Test Your Android Application (with Robolectric)
    Tyler Schultz, from Pivotal Labs, introduces you to Robolectric - an open source unit testing framework that makes it possible to run unit...
  • Installing Android SDK Plugin for Eclipse IDE
    Short video clip that explains how to install the Android SDK plugin for the Eclipse IDE. When following the guidelines make sure you ente...
  • Android Video Tutorial: Android Application Development - Databases
    Class 3, Part 3. This video comes from Marakana's 5-Day Android Bootcamp Training Course which Marko Gargenta taught in San Jose, CA e...
  • Reordering of listview
    Listview rows order can be changed using drag and drop functionality.Dragging should be enabled beyond the visible listview position. ...
  • Extract all java classes from APK
    Step 1: Download "dex2jar-0.0.7.8-SNAPSHOT.zip" package from web. This package can be downloaded from " http://code.google...
  • Android Video Tutorial: Android Application Development - BroadcastReceivers
    Class 5, Part 3. This video comes from Marakana's 5-Day Android Bootcamp Training Course which Marko Gargenta taught in San Jose, CA e...
  • Get User name using Andriod
    import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; class Utils { private static ...
  • How to Create Multiple Activities in Android
    How to create multiple activities in android? Example of multiple activities in android.
Powered by Blogger.

Archives

  • ▼  2012 (44)
    • ►  October (31)
    • ►  September (3)
    • ►  March (1)
    • ▼  February (9)
      • How to Create Multiple Activities in Android
      • What is an Activity in Android?
      • What are Intents in Android?
      • Implicit Intents in Android System with Example
      • Explicit Intent in Android System with Example
      • 10 THINGS TO KNOW ABOUT GOOGLE ANDROID
      • SAFEGUARDING YOUR INTERESTS
      • THE LONG ARM OF ANDROID
      • TRACING THE SUCCESS OF ANDROID
  • ►  2011 (69)
    • ►  December (69)
 

Followers

Labels

  • Activities (9)
  • Andoird Menu (2)
  • Android timelineActivity. (1)
  • Android Adapter (1)
  • Android app (9)
  • Android App Inventor (1)
  • Android App Publishing (2)
  • Android Application Components (3)
  • Android Application Fundamental (2)
  • Android Architecture (1)
  • Android AsyncTask (1)
  • Android Basic (7)
  • Android Bootcamp Training (18)
  • Android Button Widget (3)
  • Android Custom Style (1)
  • Android Dialog (1)
  • Android Drawable (2)
  • Android Environment (1)
  • Android example (9)
  • Android File System (2)
  • Android Geolocation (2)
  • Android ImageView (1)
  • Android Installation (8)
  • Android intents (5)
  • Android lifecycle (1)
  • Android LIst (4)
  • Android Listener (4)
  • Android Manifest (3)
  • Android Market (1)
  • Android Notification (1)
  • Android Object (1)
  • Android Package File (1)
  • Android Platform (1)
  • Android service (4)
  • Android StatusActivity (1)
  • Android Theme Style (3)
  • Android Traceview (1)
  • Android UI (6)
  • Android Unit Testing (1)
  • Android Widget (4)
  • AndroidManifest.xml (4)
  • Application Icon (1)
  • Broadcast Receiver (2)
  • Content Providers (1)
  • Creating Activities (1)
  • Creating Custom Styles in Android (1)
  • Creating Multiple Activities (1)
  • Database (3)
  • draw9patch (1)
  • Eclipse (12)
  • Explicit Intents (2)
  • Explicit Intents Example (1)
  • Hello world with Android (1)
  • Helloworld with Android (5)
  • Implicit Intents (2)
  • Implicit Intents Example (1)
  • Layout View (3)
  • lifemichael (8)
  • Location Sensor (1)
  • Multiple Activities (2)
  • Netbeans (1)
  • OpenGL ES Graphics (1)
  • Passing Values with Intents (2)
  • Project Structure (1)
  • Retrieving Image URI from Intents (1)
  • Setting Android Environment (1)
  • SQLite (3)
  • TGENT (8)
  • UserGroupAtGoogle (8)
  • XML (1)
  • xtensive arts Training (11)
 
 
© 2011 Android Development Tutorial | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger