Получение пользовательских действий из уведомленияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Получение пользовательских действий из уведомления

Сообщение Anonymous »


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

import android.app.Notification; импортировать android.app.PendingIntent; импортировать android.content.BroadcastReceiver; импортировать android.content.Context; импортировать android.content.Intent; импортировать android.graphics.Bitmap; импортировать android.os.Bundle; импортировать android.service.notification.NotificationListenerService; импортировать android.service.notification.StatusBarNotification; импортировать android.util.Log; импортировать android.support.v4.content.LocalBroadcastManager; импортировать java.io.ByteArrayOutputStream; общественный класс NotificationHandler расширяет NotificationListenerService { Контекстный контекст; @Override общественная недействительность onCreate() { Log.e("СОСТОЯНИЕ","ЗДЕСЬ СНОВА"); супер.onCreate(); контекст = getApplicationContext(); } @Override public void onNotificationPosted (StatusBarNotification sbn) { Строковый пакет = sbn.getPackageName(); Строковый тикер = ""; if (sbn.getNotification().tickerText != null) { тикер = sbn.getNotification().tickerText.toString(); } Дополнительные возможности пакета = sbn.getNotification().extras; // пытаться { // //sbn.getNotification().contentIntent.send(); // } catch (PendingIntent.CanceledException e) { // e.printStackTrace(); // } String title = extras.getString("android.title"); Строковый текст = extras.getCharSequence("android.text").toString(); int id1 = extras.getInt(Notification.EXTRA_SMALL_ICON); Идентификатор растрового изображения = sbn.getNotification().largeIcon; Log.i("НОВЫЙ", "----------"); Log.i("Пакет", пакет); Log.i("Тикер", тикер); Log.i("Название", заголовок); Log.i("Текст", текст); sbn.getNotification().contentIntent.sen for (Строковый ключ: Bundle.keySet()) { Log.i("Намерение", ключ); } Log.i("НОВЫЙ", "----------"); Намерение msgrcv = новое намерение («Сообщение»); msgrcv.putExtra("пакет", пакет); msgrcv.putExtra("тикер", тикер); msgrcv.putExtra("title", title); msgrcv.putExtra("текст", текст); если (идентификатор != ноль) { Поток ByteArrayOutputStream = новый ByteArrayOutputStream(); id.compress(Bitmap.CompressFormat.PNG, 100, поток); byte[] byteArray =stream.toByteArray(); msgrcv.putExtra("значок", byteArray); } LocalBroadcastManager.getInstance(контекст).sendBroadcast(msgrcv); } @Override public void onNotificationRemoved (StatusBarNotification sbn) { Log.i("Сообщение", "Уведомление удалено"); } } Мне не удается понять, как захватить специальную опцию для подтверждения уведомления и затем щелкнуть ее. Кнопки подтверждения/отклонения выглядят аналогично кнопкам в этом уведомлении. Есть идеи, как мне это запечатлеть?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»