Текущая область уведомлений Android — связывание значений с изображениями для отображения в области уведомлений

Я хочу создать постоянное уведомление процессора (и/или) оперативной памяти с изображениями, но я не знаю, как связать изображения со значениями, взятыми из системы.

Примеры изображений:

Для простоя --->http://imageshack.us/photo/my-images/840/idleq.png/

от 10 до 24% ---> http://imageshack.us/photo/my-images/841/18037282.png/

от 25 до 49% --->http://imageshack.us/photo/my-images/267/74169930.png/

от 50 до 79% ---> http://imageshack.us/photo/my-images/692/63885257.png/

от 80 до 99% --->http://imageshack.us/photo/my-images/20/39599298.png/

на 100% --->http://imageshack.us/photo/my-images/715/100to.png/

Извините за использование imageshack.us, но я пока не могу загружать изображения.

Большое спасибо.


person angelos Kar    schedule 16.03.2012    source источник


Ответы (1)


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

Способы создания и удаления уведомлений

private NotificationManager notificationManager;

/* Params:
 * int imageResourceId: The resource image to set
 * String titleText: the title of the notification
 * String statusText: the subtitle of the notification
 */
public void createNotification(int imageResourceId, String titleText, String statusText)
{
    Notification notification = new Notification(imageResourceId, titleText, System.currentTimeMillis());
    notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);

    notification.flags |= Notification.FLAG_ONGOING_EVENT;
    notification.setLatestEventInfo(mContext, titleText, statusText, null);

    notificationManager.notify(1, notification);
}

/* Destroys all notifications */
public void destroyNotification()
{
    if (notificationManager != null)
        notificationManager.cancelAll();
}

Итак, это касается создания и удаления уведомления, как вы меняете его для разных процентов заряда батареи? Просто, что-то вроде этого, в зависимости от ваших ресурсов изображения.

Пример использования

if (batteryPercentage > 85)
{
    destroyNotification();
    createNotification(R.drawable.highBatteryIcon, "Good Battery", "85-100%");
}
else if (batteryPercentage <= 85)
{
    destroyNotification();
    createNotification(R.drawable.lowBatteryIcon, "OK Battery", "0-85%");
}

Поместите все свои изображения в папку для рисования и измените код по мере необходимости для всех ваших процентов и т. Д. И т. Д. Но я бы сделал это лично.

Кроме того, вы можете отображать такие вещи, как динамический процент, обновляя lastEventInfo для уведомления и повторно уведомляя notificationManager, но вы можете повеселиться;)

person bbedward    schedule 16.03.2012
comment
Итак, если я правильно понимаю: каждое изображение является уведомлением. При каждом изменении значения предыдущее уведомление уничтожается и заменяется самым новым. - person angelos Kar; 17.03.2012