Automati c ответить Android Уведомления - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь отвечать на уведомления с помощью приложения чата, поэтому приложение получает доступ к уведомлениям для получения сообщений. Я хочу знать, как отправлять сообщения в фоновом режиме на specefi c Уведомление без открытия приложения. Если кто-то знает такой подход, пожалуйста, поделитесь.

Итак, я сделал это, используя NotificationHelperLibrary репозиторий.

  1. У меня есть служба прослушивания уведомлений.
     public void onNotificationPosted(StatusBarNotification sbn) {
        super.onNotificationPosted(sbn);
         if (sbn.getPackageName().equals("com.XXXX")) {
            **// I store the sender name + message in DB**
            sender = sbn.getNotification().extras.getString("android.title");
            Action action = getQuickReplyAction(sbn.getNotification(), getPackageName());
             if (action != null) {
                     try {
            // This function is sending a msg in realtime~Auto Reply[Problem] im not looking to make an autoreply apk, i want to call it later in ChatActivity
                       action.sendReply(getBaseContext(), "Hi" + Sender);
                         } catch (PendingIntent.CanceledException e) {
                             Log.i("TAG", e.toString());

                  } else {
                      Log.i("TAG", "not success");
                }
             }
        }
        ....
    }

Мои попытки: Я пытался сохранить все уведомления в списке и отфильтровать все уведомления, используя имя отправителя, например:

   List<Notification> mNotifications = new ArrayList<>();
   Action action = getQuickReplyAction(sbn.getNotification(), getPackageName());
   mNotifications.add(action);

Затем вызвал:

Action action = getQuickReplyAction(mNotifications.get(0).getNotification()), getPackageName()); // Get 0 As example it works but how can i store the Notification Inside SQlite or SharedPrefrences ( it returns error if i use Gson Libs or trying to cast Notification List to String... )
...