Utilizzare un android.intent.action.VIEW della categoria android.intent.category.BROWSABLE.
Da Romain Guy Photostream di AndroidManifest.xml app,
<activity
android:name=".PhotostreamActivity"
android:label="@string/application_name">
<!-- ... -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="flickr.com"
android:pathPrefix="/photos/" />
<data android:scheme="http"
android:host="www.flickr.com"
android:pathPrefix="/photos/" />
</intent-filter>
</activity>
Una volta dentro sei nel activity, è necessario guardare per l'azione, e poi fare qualcosa con l'URL che hai consegnato. Il metodo Intent.getData()
ti dà un Uri.
final Intent intent = getIntent();
final String action = intent.getAction();
if (Intent.ACTION_VIEW.equals(action)) {
final List<String> segments = intent.getData().getPathSegments();
if (segments.size() > 1) {
mUsername = segments.get(1);
}
}
Va notato, tuttavia, che questa applicazione sta diventando un po 'fuori data (1.2), quindi si possono trovare ci sono modi migliori per raggiungere tale obiettivo.
Una cosa di essere a conoscenza di - Il tuo manuale sarà presentato con la scelta di utilizzare l'applicazione adatta in quanto tutto ciò che fai è quello di registrare la vostra app come un gestore. Personalmente (come utente) sono infastidito da questo, anche se mi rendo conto che posso optare per "azione predefinita" – Bostone
Questo non funziona per i telefoni HTC. Come posso farlo funzionare su telefoni HTC? – user484691
Probabilmente vorrai usare intent.getDataString() piuttosto che getData() se ti interessa l'URL completo inclusa la querystring. Questo commento ti farà risparmiare l'ora che mi è costato ..... :-( –