2015-12-16 3 views
1

Это приложение для общего оповещения. Мне удалось захватить и установить большой значок для уведомления, так как он принимает тип 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()); 

} 
} 

ответ

0

Маленький значок может не загружать, если он превышает размер предписанного Android.Generally мы можем загрузить маленькие иконки с помощью изображений, сохраненных в папке только ресурсы.

может получить подробную информацию о размерах значков для уведомления толчка по следующей ссылке GCM Push Notification Large Icon size

+0

, пожалуйста, напишите свой ответ здесь. то ссылки для получения дополнительной информации – Sachith

0

Маленьких иконки в уведомлении толчка не может быть добавлен динамически. Большие значки можно добавить динамически, выполнив задачу Async. Приложение будет разбиваться, если нет значка. Значок Small Icon является обязательным для PushNotification.

Смежные вопросы