A tool for building, inspecting and dispatching Android Intents — construct an intent by hand, fire it as an activity / broadcast / service, explore everything installed apps expose, and capture intents flowing through the system.
The app is largely a reconstruction of the Intentions app from 2012, whose code was lost.
Security note: this is a tool for authorized testing of Android apps you own or are permitted to test. Use it responsibly.
- Intent editor — set the component, action, data URI + MIME type, categories, extras and flags. Sections toggle on and off without losing what you've typed.
- Typed extras — add extras of any common type:
String,Boolean, the numeric types,Character,Uri,null, a nestedIntent, and array / list types. Values are checked as you type. - Autocomplete for actions, categories and extra names.
From the Execute row:
- Activity, Broadcast, Ordered broadcast, Start / Stop / Bind service.
- The button group matching the intent's resolved target (activity / service / receiver) is highlighted, but any of them can still be tried.
- Bind service opens a panel where you can send Messenger messages
(
what/arg1/arg2plus a typed data bundle) and see the replies. - When a dispatch is blocked, the result is a plain explanation plus a Run via shell
option that retries the equivalent
amcommand, with or without root. - Show manifest — pretty-prints the target app's manifest (including split APKs), with resource references resolved to their names.
- Package explorer — searchable list of installed apps. Open one to see its activities, services, receivers, providers and intent-filter actions, each marked with an exported badge and a permission level icon (open / normal / dangerous / signature). Tap a component to load it into the intent; tap Query on a provider to jump straight to a content query for it.
- Data browsers — every action, category, data scheme, MIME type and data authority declared across installed apps; tap to apply to the current intent.
- Content provider — against a
content://URI, run Query, Get type, Read and Call, or — behind a confirmation — Insert / Update / Delete. The provider's exported / permission status is shown, a needed permission is requested when possible, and a Run via shell fallback (su / sh) is offered when access is denied. - Resource browser — browse another app's images and text / XML resources (including its
AndroidManifest.xml), with references resolved to names. Pick an entry as anandroid.resource://…URI, or copy its text. - App info / Force-stop — open the system App-Info page for a package.
- Broadcast sniffer — a background monitor that records system broadcasts as they happen. The watched-action list is editable; tap a captured entry to load it into the editor.
- Scheme & share interceptor — Intentions appears in the system "Open with" / share sheets; choosing it captures the incoming intent into the editor.
- Bookmarks — save intents and reload them later.
- Recent intents — automatic history of intents you've executed; tap to reload.
- Copy as
adbcommand — generate a ready-to-runadb shell am …line. - Clipboard — copy / paste an intent as a portable string.
- Home-screen shortcut — pin a shortcut that fires the current intent. Intentions also responds to a launcher's create-shortcut request.
QUERY_ALL_PACKAGES— the app's purpose is to enumerate and inspect other apps.FOREGROUND_SERVICE/FOREGROUND_SERVICE_SPECIAL_USE/POST_NOTIFICATIONS— the background broadcast sniffer and its notification.- Media and provider read permissions (
READ_MEDIA_*,READ_CONTACTS,READ_CALENDAR,READ_SMS,READ_CALL_LOG) — requested on demand so the content-provider screen can return rows from those providers. KILL_BACKGROUND_PROCESSES,INSTALL_SHORTCUT— the force-stop helper and legacy shortcut fallback.
Modern Android limits some original capabilities: listing or killing other apps' running services is no longer allowed (Android 8+), so the app opens the system App-Info / force-stop page instead.
Grab the latest intentions-release.apk from the
Releases page
and install it by opening the file on the device ("Install unknown apps"), or via adb:
adb install -r intentions-release.apkPrefer to build it yourself? A debug build can be built and installed in one step:
./gradlew installDebugTo install with adb instead, build the APK first, then install it:
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/intentions-debug.apkSee DEVELOPMENT.md for the toolchain and architecture.
This app is sideloaded — it is not on the Play Store.
Copyright (C) 2026 David Matscheko
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/. The full text is in LICENSE.





