I’m trying to catch an Android Market search intent.
That’s the way you launch Android Market and search for an app by package name:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:com.google.somepackage")));
Now, here’s the intent filter for one of my activities:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="market" android:host="search" />
</intent-filter>
I’d expect Android to ask me which app should handle the intent which doesn’t happen.
Yet, if I replace market with market1 or search with search1, in both places, my activity gets launched.
Is there a notion of “untouchable” intents or something?
TIA.
That is odd indeed, and kinda goes against the whole open intent system. I know there are broadcasts that only the system can create, but I hadn’t heard of such a thing for intent resolution.
Anyway, I just dumped the Market APK on my HTC Hero and checked the manifest. They’re being slightly more specific in their URI-matching by adding the path:
However, I tried adding this to my app, except I increased the priority value (not that I’ve seen that have any effect before), yet still I couldn’t capture the
Intent.Hopefully someone (or the AOSP) can shed some light on the situation…