Я прочитал очень много постов на эту тему, но ничего не работает для меня (или не'т иметь эффект желаю).
У меня есть приложение, которое после входа в систему запускает фоновый сервис (реализация класса обслуживания). Эта служба синхронизируется с сервером и если новый заказ приходит, он создает уведомление.
До сих пор все работает отлично, у меня есть уведомления и всплывающее сообщение. Однако, я хотел бы иметь диалог, который уведомляет пользователя о новом порядке.
Как я понял, вы можете начать работу с в рамках сервиса, который отображает диалоговое окно. Это работает, но активность начинается на вершину текущего стека активности и отображает диалоговое окно. У меня активность не прикреплен и он правильно отображает диалоговое окно, однако на черном фоне.
Я хочу, чтобы отобразить диалоговое окно на текущую деятельность, в результате фактического фона(работающем деятельности) исчезать и отображения диалогового окна.
Это как-то возможно?
Спасибо, Филип
Мы можем показать диалог со службы только в случае, если это диалоговое окно предупреждения системы. Таким образом, установить TYPE_SYSTEM_ALERT
окно макета параметр в диалоговом окне следующим образом:
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
Но, он должен разрешения SYSTEM_ALERT_WINDOW. Итак, Дон'т забудьте добавить этот permissin в файл манифеста.
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
Я очень, очень, очень рекомендую, что вы Дон'Т сделать это (это идет вразрез с дизайном и руководящие принципы пользовательского интерфейса Android). Уведомления являются предпочтительным способом для достижения того, что вы делаете (что это звучит, как будто вы уже достигли).
Это, как говорится, если вы должны сделать это, я бы порекомендовал просто используя диалоговое тематические активности. Таким образом, вы Дон'т придется запустить отдельный диалог. Пожалуйста, см. http://developer.android.com/guide/topics/ui/themes.html#ApplyATheme для того, чтобы сделать это.