I’ve searched documentation, but I’m missing something obvious. Or am trying to do something backwards.
What I have is the main activity, that’s fired from the launcher and widgets. I have a second activity that I’d like to be fired off when a URL of a specific pattern is attempted to be opened. Here’s the two activity definitions:
<activity android:name=".activities.MainMapScreen" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.ViewDatasheet" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:process=":BMMapsDatasheet">
<meta-data android:name="Main Screen" android:value=".activities.MainMapScreen" />
<intent-filter>
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="www.ngs.noaa.gov" android:pathPattern="\\/cgi-bin\\/ds_mark.prl\\?PidBox\\=([a-zA-Z]{2}[0-9]{4})" />
</intent-filter>
</activity>
Like the above, url’s aren’t intercepted. Even if I have nothing in the data but the scheme and host, I don’t get the prompt to select my app.
As a test, I copied the browsable and to the main activity, and when I do that, the icon disappears form the launcher altogether. (And I still get no prompt when trying to hit the URL.
All the examples I find has the in the main activity, not a secondary activity, so.. I’m not sure if I’m missing some flags or such.
Any thoughts would be appreciated. If you want me to post the whole Manifest, let me know.
–Mike.
Edit: After adding @iturki suggestions, there was no change. however – if I also added <category android:name="android.intent.category.OPENABLE" /> to the action to handle the URLs, that worked. None of the examples I saw with the had that category, so I’m not yet sure if it would affect other operations of the activities in my application or not.
Try adding a
VIEW actionto your second Activity’s<intent-filter>:And I think you might want to add your Intent to the DEFAULT category too:
I’m not sure if it is important but all the
<intent-filter>s have this category.