Skip to main content

Intent Filter

 When Android is given an intent, it has to figure out which activity, or activities, are able to handle it. This process is known as intent resolution.


When the intent is explicit, the intent resolution easily figures out which component the intent is directed at.

But when we use an implicit intent.Android uses the information in the intent to figure out which components are able to receive it. It does this by checking the intent filters in every app’s copy of AndroidManifest.xml.

An intent filter specifies what types of intent each component can receive.

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

Here’s the entry for an activity that can handle an action of ACTION_SEND. The activity is able to accept data with MIME types of text/plain or image.

The intent filter also specifies a category. The category supplies extra information about the activity such as whether it can be started by a web browser, or if it’s the main entry point of the app. An intent filter must include a category of android.intent.category.DEFAULT if it’s to receive implicit intents. If an activity has no intent filter, or it doesn’t include a category name of android.intent.category. DEFAULT, it means that the activity can’t be started with an implicit intent. It can only be started with an explicit intent using the fully qualified component name.

So when we create implicit intent the information associated with intent is compared with the other apps AndroidManifest activities intent-filter and only those activities are filtered out the can handle the intent.

Comments

  1. Nice post 👍🏻
    you will definitely take place in indias top most blogger list

    ReplyDelete

Post a Comment

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 ...