Всплывающее диалоговое окно на главном экране Android - PullRequest
5 голосов
/ 29 сентября 2011

Можно ли отобразить всплывающее диалоговое окно (AlertDialog) на главном экране на устройстве Android через службы?

Ответы [ 3 ]

13 голосов
/ 29 сентября 2011

Вы можете создать Activity с темой Theme.Dialog.В вашем файле AndroidManifest.xml добавьте тему к занятию, например:

<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"></activity>

В вашем сервисе просто запустите это Activity.Вы должны начать занятие с флагом Intent.FLAG_ACTIVITY_NEW_TASK.См. Как запустить Активность из Сервиса

4 голосов
/ 12 сентября 2013

Кому-нибудь нужна опция "android: launchMode =" singleInstance ", когда всплывающая активность в широковещательном приемнике или Сервисе ?? Без этой опции мое приложение запускалось автоматически и показывало над ним MyDialogActivity. А потом что-то случилось не так. (Мое приложение имеет функцию «Главное действие с автоматическим входом в систему». Когда другое новое действие запускается автоматически, MyDialogActivity скрывается за ним.)

Итак, это мой пример XML-кода.

    <activity
        android:name=".MyDialogActivity"
        android:launchMode="singleInstance"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Dialog" />
    <activity

Надеюсь, кому-то нужны мои комментарии. :)

2 голосов
/ 29 сентября 2011

Вы не можете создать диалог из сервиса, но у нас есть одно альтернативное решение: вы можете создать dialog activity и запустить это действие из вашего сервиса.

. Вы можете установить тему деятельности в качестве диалога ниже.способ

<activity android:name=".MyDialogActivity" android:theme="@android:style/Theme.Dialog"
        android:label="@string/app_name">
</activity>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...