更改 remoteView 按钮的背景图像?

Changing a background image of a remoteView button?

不太明白这一点。我的 Activity 上有一个按钮,按下后会打开一个通知。这个自定义通知上面有一个按钮。我正在尝试在按下后更改通知背景图片。

这是我到目前为止使用的方法,但没有成功。

这是一项服务 class,一旦按下 "notifcation_Button" 就会被调用。 (我有一个挂起的意图,称之为 class)

  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;
}

我认为在 custom_layout.xml 文件中你可以给父视图一个 ID。在您的代码中使用其 id 获取对该父视图的引用,并更改该视图的背景图像以获得所需的结果。

所以任何想知道的问题是 NotificationCompat.Builder 没有被更新,所以你最初拥有它的地方,它需要用 remoteView.setInt(R.id.yourDrawable, "setBackgroundResource", newDrawable);.要么将它扔到一个方法中并以这种方式更新它,要么将整个傻瓜带入发生变化的class。