Android: How to Get a List of All Available Intent Filters

Android: How to get a list of all available intent filters?

PackageExplorer lists all intent-filters defined in apps in your device

To answer your question: You create the intent-filter(s) you want to be used to cause your activity to be selected when a program is looking for a service or activity. So each Activity in a Package defines it own list of intent-filters.

I found it useful to have a list of all intent-filters defined by all the applications on a device -- so would know what apps the system would invoke when an intent was processed. I put a free app on Android Market, search for 'Package Explorer' that searches all apps it can find on your device, decodes the AndroidManifest.xml file and displays a list of all intent-filters defined by all apps. The table of all intent-filters can be sorted by Action, Category, Data fields(ie scheme or mimetype), package name or intent-filter type so you can find all Activites on your device that respond to various Actions or Categories.

Package Explorer also collects all uses-permissions fields in the manifest and displays a list of which apps require which permissions. So you can find all packages that use 'SEND_SMS' or something like that. Clicking on the name of a package displays the decoded (uncompressed binary) AndroidManifest.xml for the package.

List intent filters for installed packages

AFAIK there is no way to list all intents that a specific application can receive. However, you can get similar (albeit not as expansive) information by creating some intents yourself then using PackageManager's queryIntentActivities, queryIntentservices, and queryBroadcastReceivers to see what applications are installed that will react to that intent.

Android dev: How I can find the list of all avaiable intent-filter actions for a receiver?

PackageExplorer lists all intent-filters defined in apps in your device.More information can be had from this link

Android -- How to get a list of all available intent filters ?

Using java method , you can read androidmanifest xml to binary format.Then you can write to a text file.The below link talka about that.

How to parse the AndroidManifest.xml file inside an .apk package

Hope this will help you.

How to get all intent filters for application (with root)

Good question. I don't think it's possible to find out the intents that an app can handle. Some standard activity actions and broadcast actions are listed at http://developer.android.com/reference/android/content/Intent.html. If you are writing your own app that's having it's own intent filters, then i don't think other apps will know what intents your app can handle because there is no way to publish them or announce them to the world, i believe.

But what is possible is that you can make a call for a particular intent and if that returns null, then you know for sure that there are no apps on the device that can handle that particular intent.

HTH.

Programmatically list intent-filters

I think the package manager will tell you what you're looking for.

http://developer.android.com/reference/android/content/pm/PackageManager.html

public abstract ActivityInfo getActivityInfo (ComponentName component, int flags)

where flags may contain

GET_INTENT_FILTERS

How to get all the applications that offer an Intent with a specific pattern?

I agree with @CommonsWare on this. It is not possible. Android supports Intent resolution by exact matching of ACTION strings, so it doesn't need to support the functionality that you want.

Theoretically you could request a list of all installed packages from the PackageManager and then scan through all the activities in each package looking at the ActivityInfo objects and the associated Intent filters. Unfortunately, there is no way to get the Intent filters associated with an activity (this was conveniently left out of the ActivityInfo class).

where can i find a list of the actions that i put in the intent filter (receiver) inside the manifest?

Try BluetoothAdapter and BluetoothDevice

As for all Android intent actions, the docs for Intent contain most. Other things such as Bluetooth etc are usually defined in the various packages that provide that functionality.



Related Topics



Leave a reply



Submit