Wednesday, May 13, 2020

[PROJECT] Intents Broadcast Monitor v1.0

DESCRIPTION
Intents and its broadcasts are very useful to allow apps communicate each other, also system broadcasts can be used to trigger almost everything in Android.

But, when we want to take a look at the information sent within an intent (extras) to react somehow and carry out something, the official documentation, especially in the case of Android system intents, there are times that we cannot find clear references to all the extras. This is because device manufacturers, when customizing their base systems (ROMs), they rebuild part of the original Android code, adding/removing information sent and received from some of the system intents.

Therefore, this project, originally based on the Internal Broadcasts Monitor app, will help you to capture sent intents (by system or other apps) and absolutely all its extras that your device/app is capable of generating in each intent (if they contain any). And all in real time.

Main features:
• Receive intents and all its extras in real time.
• Colored information (date, time, intents count, intents names...)
• Hide/Show the scene to allow keep receiving intent information in the background. (*)
• Stop/Start control buttons to stop receiving broadcasts, or register them again.
• Export results to TXT file. (*)
• Receive intents from Android system as well as third-party apps (if installed). (**)

Notes:
- Thanks to @joaomgcd and @sdfsung (Reddit) for helping on building the project. (reference)
- (*) All these options are accessible from the generated notification (buttons), once the project is launched.
- To know what are the intents that the project is capable of monitoring, here you have a complete list: Android System and Third-Party Apps. They will be updated as new intents are included in future versions, if possible.
- Use Show Intents List task to view all the included intents in off-line mode. (Colored ones are the last included)
- (**) Two versions of the project are available to download. The first one (Android System Intents = A) will listen to all the intents coming from the Android system, only; the second one (Third-Party Apps Intents = B) will listen to all the intents coming from 3rd party apps, only. (Do not use both at the same time)
- All the profiles are configured with a Cooldown Time of 1 sec to avoid receiving aggressive (redundant) broadcasts. If you need to listen to an intent without restrictions, set the Cooldown Time to 00:00:00:00 for the corresponding profile.
- If Tasker alerts you about queued tasks number have been exceeded, try increasing the Maximum Tasks Queued value from its Preferences.

SCREENSHOTS

DEMO

CREDITS
@SmartPhoneLover
@joaomgcd
@sdfsung

DOWNLOAD
Android System Intents
Project (XML)
Project (TaskerNet)
Third-Party Apps Intents
Project (XML)
Project (TaskerNet)

DOWNLOAD (Ads Supported)
Android System Intents
Project (XML)
Project (TaskerNet)
Third-Party Apps Intents
Project (XML)
Project (TaskerNet)

7 comments:

  1. Hi guys,

    Thank you for this great project. I have an issue importing the 3rd party intent monitor. An error message "Missing action of type 378" pops-up when importing via TaskerNet. Whereas, I get "Failed to import project" when attemping to import the .prj file from within tasker.

    My device is a Poccophone F1, running Android 10 under MIUI 11.0.8.

    Your help is greatly appreciated. Thank you.

    ReplyDelete
    Replies
    1. Hello, what Tasker version do you have?
      The project was created with '5.9.3.beta.5', maybe I used some special action that is only available since that version.
      Try updating...

      Delete
    2. Hi,

      I have downloaded the Beta version and managed to install/import the project. Thank you for your help.

      I had another question, why can't the project monitor intents from all third-party applications?

      Thank you.

      Delete
    3. Well done!

      About the project not being able to detect/monitor all intents for all available 3rd-party apps, it's just because I'm who collects them and add to the project manually. So I need to collect them first, and test them (or not if I can't).

      Delete
    4. Thank you for replying.

      Can anyone (me) do this task?

      I have a specific app that I want to monitor/detect its intents. I don't want to bother anyone with this. I would really appreciate it If you could please share a tutorial/reference to help me learn how to collect and test intents.

      Thank you.

      Delete
    5. If it is for send broadcast intents (from the app to other ones), them are generally declared inside its AndroidManifest.xml file. In most cases you will get that file with just unzipping it, or using an APK analyzer from Google Play Store.

      If you are talking about broadcast intent actions (sent to the target app), you can try searching for them looking for app docs. Devs usually make them public if they intent to give the app such functionality, or maybe API.

      Another way of try to get its intents (sent from other apps to the target app), is by decompiling the app and take the time to review all its code.

      Delete
  2. Thank you for the quick response.

    I am using v. 5.9.2. That is probably the reason. I will for the update before trying to import it again.

    Thank you. :)

    ReplyDelete