Я пытаюсь отвечать на уведомления с помощью приложения чата, поэтому приложение получает доступ к уведомлениям для получения сообщений. Я хочу знать, как отправлять сообщения в фоновом режиме на specefi c Уведомление без открытия приложения. Если кто-то знает такой подход, пожалуйста, поделитесь.
Итак, я сделал это, используя NotificationHelperLibrary репозиторий.
- У меня есть служба прослушивания уведомлений.
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... )