Czy jest możliwe wyświetlenie okna dialogowego pop-up (AlertDialog) na ekranie głównym urządzenia z Androidem za pośrednictwem usług?
Odpowiedzi:
12 dla odpowiedzi № 1Możesz stworzyć Activity
z Theme.Dialog
motyw. W Twoim AndroidManifest.xml
plik dodaj motyw do działania, na przykład:
<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"></activity>
Z Twojej usługi po prostu zacznij to Activity
. Będziesz musiał rozpocząć działanie z Intent.FLAG_ACTIVITY_NEW_TASK
flaga. Widzieć Jak rozpocząć działanie od usługi
4 dla odpowiedzi nr 2
Czy ktoś potrzebuje opcji, "android:launchMode = "singleInstance", kiedy aktywność pop w odbiorniku lub usłudze? Bez tej opcji moja aplikacja uruchomiła się automatycznie i pop MyDialogActivity powyżej. A potem coś stało się nie tak. (Moja aplikacja ma główną aktywność z funkcją automatycznego logowania. Gdy inne nowe działanie uruchomi się automatycznie, MyDialogActivity zostanie ukryte.)
To jest mój przykładowy kod XML.
<activity
android:name=".MyDialogActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog" />
<activity
Mam nadzieję, że ktoś potrzebuje moich komentarzy. :)
2 dla odpowiedzi nr 3
Nie można utworzyć okna dialogowego z usługi, ale mamy jedno alternatywne rozwiązanie, które można utworzyć dialog activity
i zacznij tę aktywność od swojej usługi
Możesz ustawić Temat aktywności jako okno dialogowe według poniższego sposobu
<activity android:name=".MyDialogActivity" android:theme="@android:style/Theme.Dialog"
android:label="@string/app_name">
</activity>