Android intent/filters
An Android Intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service.
The intent itself, an Intent object, is a passive data structure holding an abstract description of an operation to be performed.
For example, let's assume that you have an Activity that needs to launch an email client and sends an email using your Android device. For this purpose, your Activity would send an ACTION_SEND along with appropriate chooser, to the Android Intent Resolver. The specified chooser gives the proper interface for the user to pick how to send your email data.
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); email.putExtra(Intent.EXTRA_EMAIL, recipients); email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString()); email.putExtra(Intent.EXTRA_TEXT, body.getText().toString()); startActivity(Intent.createChooser(email, "Choose an email client from..."));
Above syntax is calling startActivity method to start an email activity and result should be as shown below −

For example, assume that you have an Activity that needs to open URL in a web browser on your Android device. For this purpose, your Activity will send ACTION_WEB_SEARCH Intent to the Android Intent Resolver to open given URL in the web browser. The Intent Resolver parses through a list of Activities and chooses the one that would best match your Intent, in this case, the Web Browser Activity. The Intent Resolver then passes your web page to the web browser and starts the Web Browser Activity.
String q = "tutorialspoint"; Intent intent = new Intent(Intent.ACTION_WEB_SEARCH ); intent.putExtra(SearchManager.QUERY, q); startActivity(intent);
Above example will search as tutorialspoint on android search engine and it gives the result of tutorialspoint in your an activity
There are separate mechanisms for delivering intents to each type of component − activities, services, and broadcast receivers.
Sr.No | Method & Description |
---|---|
1 |
Context.startActivity()
The Intent object is passed to this method to launch a new activity or get an existing activity to do something new.
|
2 |
Context.startService()
The Intent object is passed to this method to initiate a service or deliver new instructions to an ongoing service.
|
3 |
Context.sendBroadcast()
The Intent object is passed to this method to deliver the message to all interested broadcast receivers.
|
Intent Objects
An Intent object is a bundle of information which is used by the component that receives the intent as well as information used by the Android system.
An Intent object can contain the following components based on what it is communicating or going to perform −
Action
This is mandatory part of the Intent object and is a string naming the action to be performed — or, in the case of broadcast intents, the action that took place and is being reported. The action largely determines how the rest of the intent object is structured . The Intent class defines a number of action constants corresponding to different intents. Here is a list of Android Intent Standard Actions
The action in an Intent object can be set by the setAction() method and read by getAction().
Data
Adds a data specification to an intent filter. The specification can be just a data type (the mimeType attribute), just a URI, or both a data type and a URI. A URI is specified by separate attributes for each of its parts −
These attributes that specify the URL format are optional, but also mutually dependent −
- If a scheme is not specified for the intent filter, all the other URI attributes are ignored.
- If a host is not specified for the filter, the port attribute and all the path attributes are ignored.
The setData() method specifies data only as a URI, setType() specifies it only as a MIME type, and setDataAndType() specifies it as both a URI and a MIME type. The URI is read by getData() and the type by getType().
Some examples of action/data pairs are −
Sr.No. | Action/Data Pair & Description |
---|---|
1 |
ACTION_VIEW content://contacts/people/1
Display information about the person whose identifier is "1".
|
2 |
ACTION_DIAL content://contacts/people/1
Display the phone dialer with the person filled in.
|
3 |
ACTION_VIEW tel:123
Display the phone dialer with the given number filled in.
|
4 |
ACTION_DIAL tel:123
Display the phone dialer with the given number filled in.
|
5 |
ACTION_EDIT content://contacts/people/1
Edit information about the person whose identifier is "1".
|
6 |
ACTION_VIEW content://contacts/people/
Display a list of people, which the user can browse through.
|
7 |
ACTION_SET_WALLPAPER
Show settings for choosing wallpaper
|
8 |
ACTION_SYNC
It going to be synchronous the data,Constant Value is android.intent.action.SYNC
|
9 |
ACTION_SYSTEM_TUTORIAL
It will start the platform-defined tutorial(Default tutorial or start up tutorial)
|
10 |
ACTION_TIMEZONE_CHANGED
It intimates when time zone has changed
|
11 |
ACTION_UNINSTALL_PACKAGE
It is used to run default uninstaller
|
Comments
Post a Comment