2012-02-06 12 views
5

Mam wrażenie, że to po prostu niemożliwe, ale pomyślałem, że otrzymam potwierdzenie ...Dodanie statycznych definicji filtru intent po instalacji

Chciałbym mieć aplikację, która reaguje na określone HTTP URL-e, i wiem, że można wstępnie zdefiniować kilka wpisów w oczywisty coś takiego:

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="http" android:host="example.com" /> 
</intent-filter> 

jednak chciałbym użytkownikowi dodać (lub potencjalnie usunąć) gospodarze, np dodaj "http://example.net" lub dezaktywuj wstępnie zdefiniowany wpis "http://example.com/".

Oczywiście, mogę uchwycić takie intencje, rejestrując dynamiczny odbiornik telewizyjny na aktywnym planie.

Ale czy możliwe jest zarejestrowanie nowych filtrów intencji w systemie po instalacji, więc moja aplikacja nie musi znajdować się na pierwszym planie, aby przechwytywać intencje pasujące do nowo dodanych nazw hostów?

Odpowiedz

1

Dobre pytanie.

Nie jestem pewien, czy to możliwe, ale chciałbym:

a) sprawdzić, co się dzieje, kiedy zarejestrować odbiornik metodą wewnątrz ContextregisterReceiver(). Być może w jakiś sposób upiera się.

b) Ustaw dynamiczny odbiornik telewizyjny w niekończącym się numerze Service. (Tak, to brzydkie, wiem)

+0

Usługa jest interesującym pomysłem; może to być wykonalne. Plus musiałby zostać uruchomiony, gdyby użytkownik rzeczywiście dostosował listę nazw hostów. –

+0

Czy roztwór serwisowy działał? –

Powiązane problemy