1

Я делаю услугу, которая позволяет автоматически открывать приложение, которое имеет уведомление в панели уведомлений, не касаясь приложения. Например, у меня есть сообщение из приложения Skype, и оно отображается в панели уведомлений. Обычный способ, пользователь должен щелкнуть уведомление, чтобы перейти в приложение. Вместо этого моя служба будет автоматически прослушивать входящее уведомление, обнаруживать приложение и открывать его из намерения. Возможно ли это в Android? Как я могу это достичь? Я использую Android 5.0 в Galaxy S4. Спасибо всемКак открыть приложение, которое уведомило об этом в панели уведомлений?

enter image description here

+0

Мой Android версии 5.0. Мой телефон Samsung S4 – user3051460

+0

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

ответ

1

Вы должны использовать NotificationListenerService для прослушивания каждого уведомления NotificationListenerService имеет два метода

  1. onNotificationPosted Реализуйте этот метод, чтобы узнать о новых уведомлениях, поскольку они вывешены Программы.

  2. onNotificationPosted Внедрите этот метод, чтобы узнать, когда удаляются уведомления.

в первом методе вы имеете экземпляр StatusBarNotification вы можете получить имя пакета там и открыть приложение непосредственно как объясняет в this

+0

Очень полезно. Я получил имя пакета и запустил приложение на основе имени пакета. Тем не менее, он выглядит открытым приложением, вместо того, чтобы открывать сообщение входящего пользователя. Например, когда вы нажимаете на уведомляющее сообщение на панели уведомлений, вы можете прямо видеть сообщение. Как мне это сделать? – user3051460