Salvo
Salvo

Reputation: 561

How to get intent filter and application name through a broadcast

I need to know if there is a way to obtain the intent filter of an applicaction (activity) and the actual name of the application as we see it on the android launcher screen, through a broadcast it sends to a service.

The service receives the broadcast through its broadcast receiver, then it needs to know the applicatione's name and its intent filter in order to do some work with that information. Is there a way to find this out through the intent, or does the application need to actually putextras in the intent?

Upvotes: 0

Views: 425

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006664

Is there a way to find this out through the intent

Not really, insofar as the Intent has no information about the Intent's origination point.

does the application need to actually putextras in the intent?

Yes, because only the originator of the broadcast knows what is appropriate to be used. After all, an app may have zero, one, or many launcher activities.

You're welcome to try the getCallingUid() and/or getCallingPid() static methods on Binder, to try to automatically derive who the sender is, but this may not work well if there are multiple apps that are using sharedUserId on the device.

Upvotes: 2

Related Questions