Я делаю услугу, которая позволяет автоматически открывать приложение, которое имеет уведомление в панели уведомлений, не касаясь приложения. Например, у меня есть сообщение из приложения Skype, и оно отображается в панели уведомлений. Обычный способ, пользователь должен щелкнуть уведомление, чтобы перейти в приложение. Вместо этого моя служба будет автоматически прослушивать входящее уведомление, обнаруживать приложение и открывать его из намерения. Возможно ли это в Android? Как я могу это достичь? Я использую Android 5.0 в Galaxy S4. Спасибо всемКак открыть приложение, которое уведомило об этом в панели уведомлений?
ответ
Вы должны использовать NotificationListenerService для прослушивания каждого уведомления NotificationListenerService имеет два метода
onNotificationPosted
Реализуйте этот метод, чтобы узнать о новых уведомлениях, поскольку они вывешены Программы.onNotificationPosted
Внедрите этот метод, чтобы узнать, когда удаляются уведомления.
в первом методе вы имеете экземпляр StatusBarNotification вы можете получить имя пакета там и открыть приложение непосредственно как объясняет в this
Очень полезно. Я получил имя пакета и запустил приложение на основе имени пакета. Тем не менее, он выглядит открытым приложением, вместо того, чтобы открывать сообщение входящего пользователя. Например, когда вы нажимаете на уведомляющее сообщение на панели уведомлений, вы можете прямо видеть сообщение. Как мне это сделать? – user3051460
Мой Android версии 5.0. Мой телефон Samsung S4 – user3051460
Вы можете явно настроить таргетинг на услугу, а не на активность в намерении. Затем запустите свою деятельность через службу. Но таким образом вы не должны этого делать, так как вы можете делать какие-либо задания внутри своей деятельности при нажатии на уведомление. – james