Skip to main content

Implicit Intent

 We can also communicate with the other apps activities using Intent. This is done using the implicit Intent.


Before using the implicit intent these are some of the question you need to answer.

Q.1 How do we know activities are available on the user’s device?

Q 2. How do we know which of these activities are appropriate for what we want to do?

Q 3. How do we know how to use these activities?

The answer to all these question is 'actions'.

Actions are a way of telling Android what standard operations activities can perfom. As an example, Android knows that all activities registered for a send action are capable of sending messages.

Create the implicit intent:

Intent intent = new Intent(action);

where action is the type of activity action you want to perform. Android provides you with a number of standard actions you can use. As an example, you can use Intent.ACTION_DIAL to dial a number, Intent.ACTION_WEB_SEARCH to perform a web search, and Intent.ACTION_SEND to send a message. So if you want to create an intent that specifies you want to send a message, you use

Intent intent = new Intent(Intent.ACTION_SEND);
Adding extra information:
Once you have specified the action you want to use then you can add extra data to it.
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, messageText);

where messageText is the text you want to send. This tells Android that you want the activity to be able to handle data with a MIME data-type of “text/plain”, and also tells it what the text is. You can make extra calls to the putExtra() method if there’s additional information you want to add. As an example, if you want to specify the subject of the message, you can also use

intent.putExtra(Intent.EXTRA_SUBJECT, subject);

where subject is the message subject.

The attritubes such as Intent.EXTRA_TEXT are only associated with the ACTION_SEND not with the other types of actions.

As we are also specifies then android will only target those app that also takes subject along with message such as gmail ignore other apps like WhatsApp which do not support subject.

Finally,
startActivity(intent);
To start the activity.
How the code works:

1)The Intent object is created. startActivity() passes the intent to the android.
2)Android analyse the intent checks which type of action the intent wants the android to perform.Then android checks all the apps activities that are able to receive the intent. If no activities are present to handle that intent it will then throw ActivityNotFoundException.
3) If just one activity is able to handle these intent, Android directly start the intent.If multiple activities are there,Android display an activity chooser dialog and asks the user to choose one.
4)When the user chooses the activity she wants to use, Android tells the activity to start and passes it the intent.

Comments

Popular posts from this blog

Firebase FireStore

  Firestore is a subset of Firebase-Real-Time Database Firestore is a NOSQL Cloud Database which is extremely,customizable,efficient and scalable. Unlike SQL,we don't need to specify the column name and entity before putting the data in the table rather in NOSQL we don't need to predefined the structure of the database. In case of NOSQL, Database is called collection and Tables are called Documents. Documents allow us to add key-value pair which is basically the json format because json is easy to manipulate,query and very flexible. We can add documents inside the collection by specifing its name otherwise firebase we create an id for it. SetUp: 1) Inside Android Studio,go to tools select Firebase. 2) CLick on Log an Analytics event below the Analytics. 3) You will be redirected to login with your google account. 4) Log In into your account. 5) Go back to Studio you will that the Connected will be written with checked sign. 6) Now click on Add Analytics to your app.Now android ...

Android Basics

  The Android Runtime(Art): Java apps take too much memory and time to run inside the JVM especially running on low powered processors or low memory device.So in order to decrease these two factors Android have their own virtual machine to run the apps called the Android Runtime(Art). First .java code is converted to .class code. Then .class code is converted to .dex file. Finally the .dex file is converted .apk file. All .class, .dex, .apk are machine readable language. Android SDK: The Android Software Development Kit contains the libraries and tools you need to develop android apps. Some main things inside SDK: 1)SDK Platform: There's one for each version of Android. 2) SDK Tools: Tools for useful utilities like debugging and testing. 3) Sample Apps: To get information about how to use some APIs sample apps provide great help. 4)Documentation: Offline documentation. 5) Android Support: Extra APIs that aren't available in the standard platform. 6) Google Play Billing: It help...

Creating Chooser for Intents

  There's a way around you can create your own chooser that asks you to pick an activity without asking if you always want to use it. This task can be acheived using 'Intent.createChooser()'. Intent.createChooser() allows you to specify a title for the chooser dialog, and doesn’t give the user the option of selecting an activity to use by default. It also lets the user know if there are no matching activities by displaying a message. Syntax: Intent chosenIntent = Intent.createChooser(intent, "Send message..."); intent is the original Intent that we have made which describe the types of activity you want the chooser to display. "Send message..." here specifies the title of the activity chooser. The createChooser() method returns a brand-new Intent. What happens in the background: 1) The createChooser() method gets called. The method includes an intent that specifies the action and MIME type that’s required. 2)Android create a chooser for activities that ...