2

I have an app installed on my device that I would like to interface with and launch some of its activities. How can I find which intents are exposed for me to use? Mind you that I do not have the source code of the app.

Thank you.

Avi L.
  • 111
  • 2
  • 8

3 Answers3

1

you don't have to find which intents apps have. You create a 'system wide' intent such as ACTION_VIEW or ACTION_GET_CONTENT or ACTION_DIAL (to name just a few) and the system finds for you which apps can handle those intents.

here you can find more info on it: http://developer.android.com/guide/components/intents-filters.html

Budius
  • 39,391
  • 16
  • 102
  • 144
1

If you have a rooted phone you could look at the Manifest of the App like this:

  1. Install the app on a rooted phone.

  2. Copy the apk from /data/app to your PC ("adb pull /data/app/com.whatever.app.apk")

  3. Extract Manifest from the APK using the answer to How to view Android Manifest

Community
  • 1
  • 1
Raimo Ihle
  • 302
  • 1
  • 3
  • 1
    You don't have to use a rooted phone. Just activate developper mode with USB debug to execute adb commands. – Majonsi Apr 30 '19 at 08:44
1

If you just want to "snoop around", you can use PackageManager.getPackageInfo() to retrieve all kinds of information about installed applications. Basically you can get everything that is present in the manifest for that package. This will tell you what activities are present, what services are present, what BroadcastReceivers are present, etc.

David Wasser
  • 93,459
  • 16
  • 209
  • 274