If I trigger an implicit intent will the user see the "select an app to handle this intent"?
If the library:
- ...is an AAR
- ...has an
AndroidManifest.xml
file, which...
- ...has an
<activity>
with an <intent-filter>
that matches your implicit Intent
Then any app that incorporates the library and is not blocking that <activity>
via its own manifest will be a candidate for responding to that implicit Intent
. If there are 2+ of those apps, normal Android implicit Intent
resolution occurs:
- If the user set a default for this
Intent
structure on a previous startActivity()
call, that default activity will be the one that is started
- Otherwise, the user will see a chooser
Or because all the apps contain the same library it will just open?
No, because Android does not know which app is the one that the user wants.
How can i use implicit intent but avoid “select an app to handle this intent” screen?
You can't, if the user has not set a default activity. It is up to the user to decide which app's activity should handle that implicit Intent
.
To put it another way: malware authors would love the ability to unilaterally hijack implicit Intents
and force them all to route to the malware.