Как показать уведомление из справочной службы?

Проект, над которым я работаю, имеет два разных приложения: 1 – сервер, а другой – клиент. Серверное приложение имеет 1 класс обслуживания, который инициирует поток сервера в функции onStartCommand() . Класс для потока сервера определяется в самом классе сервиса. Всякий раз, когда сервер получает какие-либо данные от клиента, он хранится в базе данных. Поэтому проблема заключается в том, что я хочу уведомить пользователя о том, что новые данные были получены через уведомление или сообщение тоста, насколько это возможно. Также скажите мне, где следует писать код для уведомления, должен ли я писать класс обслуживания или класс потока или класс firstActivity из которого я firstActivity службу сервера. Спасибо.

Solutions Collecting From Web of "Как показать уведомление из справочной службы?"

Я читаю это неправильно? Как серверное приложение, так и ваше клиентское приложение находятся на одном устройстве Android?

В любом случае, ознакомьтесь с ApiDemos для получения кода для уведомлений через службу.

И поскольку вы, вероятно, будете иметь дело с удаленным сервером (а не с локальным) и всеми проблемами с задержкой, связанными с сетью, я думаю, вам лучше обернуть свою службу в AsyncTask.

Также узнайте о широковещательных приемниках, зарегистрированные широковещательные приемники могут стать отличным способом запуска Сервисов / действий без необходимости иметь собственный опрос службы в цикле на неопределенный срок.

Сначала вам нужно прочитать эту статью о том, как использовать уведомления .

Затем используйте это для отправки Уведомления, вы можете написать этот код в классе службы в точке, где вы получаете некоторые данные от клиента.

 NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); int icon = R.drawable.notification_icon; CharSequence notiText = "Your notification from the service"; long meow = System.currentTimeMillis(); Notification notification = new Notification(icon, notiText, meow); Context context = getApplicationContext(); CharSequence contentTitle = "Your notification"; CharSequence contentText = "Some data has arrived!"; Intent notificationIntent = new Intent(this, YourActivityThatYouWantToLaunch.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); int SERVER_DATA_RECEIVED = 1; notificationManager.notify(SERVER_DATA_RECEIVED, notification);