2012-02-13 13 views
5

W moim app mam główną działalność zdefiniowaną w pliku manifest.xml tak:aktywność No Launcher znaleźć, mimo że zadeklarowane w manifest.xml

<activity 
      android:name=".MainActivity" 
      android:label="@string/guide_activity" > 
      <intent-filter> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <action android:name="android.intent.action.MAIN" /> 

       <action android:name="android.intent.action.SEARCH" /> 
      </intent-filter> 
      <meta-data android:name="android.app.searchable" 
        android:resource="@xml/searchable"/> 
     </activity> 

kiedy uruchomić projekt z zaćmienia podłączony do prawdziwe urządzenie lub emulator Otrzymuję następujący komunikat w konsoli: Nie znaleziono aktywacji programu uruchamiającego

co może być tego przyczyną?

Odpowiedz

15

Podziel filtr zamiany na dwa oddzielne. Jeśli zmiksujesz je w ten sposób, Android nie ustali, że jeden z nich jest filtrem programu uruchamiającego.

<activity 
    android:name=".MainActivity" 
    android:label="@string/guide_activity" > 

     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <action android:name="android.intent.action.MAIN" /> 
     </intent-filter> 

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

     <meta-data android:name="android.app.searchable" 
       android:resource="@xml/searchable"/> 
</activity> 
+0

Dzięki za odpowiedź, to działało, ale to, co jest powodem tego, że to ma działać bez konieczności podzielić –

+2

Kiedy android wysyła zamiarów wobec aplikacji, sprawdza zamiarem filtry, aby sprawdzić, czy jeden pasuje do wszystkich reguł. Tylko wtedy, gdy to prawda, intencja zostanie faktycznie wydana. W takim przypadku sprawdza, czy zamiar uruchomienia będzie pasował do obu akcji "SZUKAJ" i "MAIN". Tak nie jest, więc intencja nie zostanie dostarczona poprawnie. Jeśli podzielisz go, system zobaczy, że istnieje jeden filtr intentujący, w którym wszystkie reguły są zgodne i zapewnia właściwe intencje. –

+0

Dzięki, nawet wierzę, że nigdy nie przeczytałem tego w dokumentacji, dziwne :) –

Powiązane problemy