Менять фоновое изображение кнопки удаленного просмотра? - PullRequest
1 голос
/ 09 октября 2019

Не могу понять это. У меня есть кнопка в моей Активности, которая после нажатия открывает уведомление. Это пользовательское уведомление имеет кнопку на нем. Я пытаюсь изменить фоновое изображение уведомлений после его нажатия.

Вот то, что я использовал до сих пор без удачи.

Это класс обслуживания, который вызывается однажды "notifcation_Button". "давит. (У меня есть ожидающее намерение вызвать этот класс)

  public class newService extends Service {

  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {

    Log.d("newService", "Newservice");

    RemoteViews remoteView = new RemoteViews(getPackageName(), R.layout.custom_layout); //this is my custom notification

    remoteView.setInt(R.id.StartButton_Notification, "setBackgroundColor", R.drawable.sungrey);
    remoteView.setInt(R.id.StartButton_Notification, "setBackgroundResource", sungrey);
    remoteView.setImageViewResource(R.id.StartButton_Notification, R.drawable.sungrey);

    return START_NOT_STICKY;
}

Ответы [ 2 ]

1 голос
/ 10 октября 2019

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

0 голосов
/ 18 октября 2019

Таким образом, проблема для всех, кто интересуется, заключается в том, что NotificationCompat.Builder не обновляется, поэтому там, где он у вас есть, его необходимо обновить с помощью remoteView.setInt (R.id.yourDrawable, "setBackgroundResource", newDrawable);Либо добавьте его в метод и обновите его таким образом, либо приведите всю присоску в класс, где происходит изменение.

...