Это приложение для общего оповещения. Мне удалось захватить и установить большой значок для уведомления, так как он принимает тип Bitmap
в качестве параметра, но установка маленького значка оказывается намного более сложной. Он принимает только идентификатор ресурса int
. Поскольку я понятия не имею, какое приложение может отправлять уведомление моему слушателю, мне придется генерировать его динамически. Я могу получить маленькую иконку, прослушивая входящие уведомления и извлекая ее, но я не могу найти способ установить ее через свой идентификатор ресурса.setSmallIcon() динамически при получении уведомления?
Я не думаю, что это возможно, но просто хочу подтвердить. Если это так, есть ли обходной путь, или мне придется вручную загружать небольшие значки конкретных приложений, которые я хочу поддержать, в мою папку Drawable, а затем использовать идентификатор ресурса оттуда? Это звучит как хлопот, видя, что я уже получил правильную иконку, но не могу ее загрузить! Ниже мой код:
public class NotificationService extends NotificationListenerService {
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
Bundle extras = sbn.getNotification().extras;
int id1 = extras.getInt(Notification.EXTRA_SMALL_ICON);;
//Building Notifications
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context.getApplicationContext(id1))
.setSmallIcon(R.mipmap.ic_launcher) //This gives an error
.setContentTitle("My Title")
.setContentText("My Text");
NotificationManager notificationManager =
(NotificationManager) context.getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(notiId, mBuilder.build());
}
}
, пожалуйста, напишите свой ответ здесь. то ссылки для получения дополнительной информации – Sachith