Как вывести AlertDialog?

154
15 октября 2018, 13:20

Мне надо по нажатию на кнопку в быстрых настройках (Tileservice) открыть AlertDialog, но его не открыть без активити, мне не надо, чтобы открывалось активити, просто AlertDialog.

Answer 1

Для создания AlertDialog нужен контекст, а не активити.

Сам TileService является потомком android.content.Context, точно так же как и Activity.

Созданный диалог нужно показывать методом TileService.showDialog(android.app.Dialog)

Вот хорошая статья о TileService от разработчиков:
https://medium.com/google-developers/quick-settings-tiles-e3c22daf93a8

Answer 2

Насколько я знаю, открывать AlertDialog без активити - это плохая практика, так не нужно делать. Если хотите, то вы можете попробовать создать активити и задать ему стиль диалогового окна:

В AndroidManifest.xml:

<activity android:theme="@android:style/Theme.Dialog" 
          android:excludeFromRecents="true"/>
READ ALSO
Numeric overflow in expression при складывании String

Numeric overflow in expression при складывании String

С одним все работает, если сложить, то не хочет

174
Как скрыть часть текста или весь в TextView?

Как скрыть часть текста или весь в TextView?

В TextView у меня выводится несколько строковых ресурсов:

158
Низкий FPS из-за блокировки Canvas

Низкий FPS из-за блокировки Canvas

Представленный ниже игровой цикл находится в классе расширяющем Thread и хоть я добавляю отрисовку хоть убираю, fps практически не изменятсяЭто...

160
java.time.format.DateTimeParseException: Text could not be parsed at index 0

java.time.format.DateTimeParseException: Text could not be parsed at index 0

При запуске программы, реализующей анализ даты и времени, с использованием класса LocaleDateTime:

317