2012-12-10 7 views
16

zwei Absicht Filter für eine Aktivität erwähnen ich eine Anwendung schreibe HTML-Dateien zu öffnen, so dass ich für die Aktivität der Intent-Filter erwähne alsWie in android

 <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="text/html" /> 
     </intent-filter> 

, für diese App, wird kein Launcher-Symbol sein there.but ich möchte meine Anwendung als Launcher App und wenn ich die App öffne ich möchte einige Informationen über die Anwendung anzeigen, und dann öffnet er die App von HTML-Datei, dann möchte ich verschiedene Funktionen (Parsing der HTML) .any Ideen?

Antwort

35

Sie können mehr geben als ein <intent-filter> zwischen den <activity> tags:

<activity android:name=".MyActivity"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    <intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/html" /> 
    </intent-filter> 
</activity> 
+0

ja oben richtig ist .. in Aktivität wir die Aktion, indem Sie folgenden Code bekommen, und wir können den Fluss entscheiden, wo es sein sollte gehen. Absicht i = getIntent(); \t \t Zeichenfolge action = i.getAction(); if (action.equalsIgnoreCase ("android.intent.action.MAIN")) { \t \t \t // eine Logik \t \t} else {// eine andere Logik } –

+0

Dies funktioniert perfekt. Ich konnte es nirgends in den Android-Dokumenten finden, aber es scheint ein häufiger Anwendungsfall zu sein. – ajselvig