home-assistant / home-assistant/android
Unable to broadcast intent without package name
- Dominant language
- Kotlin
- Stars
- 3.9k
- Forks
- 1.1k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 81
Description
**Home Assistant Android app version(s):**
2025.11.4-minimal
**Android version(s):**
13
**Device model(s):**
EC30_KL1026 (Chinese Smart Carplay Screen)
**Home Assistant version:**
2025.12.4
**Last working Home Assistant release (if known):**
N/A – feature never worked for this use case
**Description of problem, include YAML if issue is related to notifications:**
The Home Assistant Companion App does not support sending **implicit broadcast intents**, despite documentation implying general broadcast support.
The app **requires `intent_package_name` to be present** for `command_broadcast_intent`, and then **forces the package on the Intent**, which makes it impossible to deliver broadcasts to **dynamically registered BroadcastReceivers**.
If the action doesn't include the package name, like this:
```yaml
service: notify.mobile_app_ec30_kl1026
data:
message: "command_broadcast_intent"
data:
intent_action: "zqc_navigationbar_action"
intent_extras: "cmd:hide"
```
Then It should perform the same broadcast as the following shell command:
```sh
am broadcast -a zqc_navigationbar_action --es cmd hide
```
But when sent, the following error appears in the Companion app logs:
```
01-07 14:05:22:974 1817 1817 D MessagingManager$handleMessage: Processing device command
01-07 14:05:22:974 1817 1817 D MessagingManager$handleMessage: Invalid broadcast command received, posting notification to device
```
This breaks valid Android use cases where:
- The receiver is registered via `Context.registerReceiver(...)`
- The receiver is **not declared in the manifest**
- The broadcast **must be implicit**
**Additional information:**
The related line of code can be found in `MessagingManager.kt:386`. The condition there expects both `intent_package_name` and `intent_action`:
Contributor guide
Assessment
This issue has not been assessed yet.