카테고리 android.intent.category.BROWSABLE의 android.intent.action.VIEW를 사용하십시오. 에서
는 로맹 가이의 Photostream 응용 프로그램의 AndroidManifest.xml,
<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>
일단 당신이 activity에있어 내부에, 당신은 행동을 보면, 다음은 전해져 한 URL과 함께 뭔가를 할 필요가있다. Intent.getData()
메서드는 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);
}
}
그것은 주목해야한다, 그러나,이 응용 프로그램은 날짜 (1.2)에서 조금을 받고, 당신이 달성의 더 나은 방법이 찾을 수 있도록.
한 가지 - 사용자는 당신이 모든 핸들러로 응용 프로그램 당신을 등록 할 수 있기 때문에 적절한 응용 프로그램을 사용의 선택이 나타납니다. 개인적으로 (사용자로서) 나는 "기본 동작"을 선택할 수 있음을 알고 있지만 짜증납니다. – Bostone
HTC 폰에서는 작동하지 않습니다. HTC 폰에서 어떻게 작동합니까? – user484691
쿼리 문자열을 포함하여 전체 URL을 염려한다면 getData()보다는 intent.getDataString()을 사용하는 것이 좋습니다. 이 코멘트는 단지 비용이 많이 드는 시간을 절약 해 줄 것입니다. .....-- ( –