1. ホーム
  2. android

[解決済み] Androidでフォアグラウンドサービスの通知テキストを更新するにはどうすればよいですか?

2022-04-27 04:08:43

質問

Androidでフォアグラウンドサービスを設定しています。 通知テキストを更新したいです。 以下のようなサービスを作成しています。

このフォアグラウンドサービス内に設定された通知テキストを更新するにはどうすればよいですか? 通知を更新するためのベストプラクティスは何ですか? どんなサンプルコードでもありがたいです。

public class NotificationService extends Service {

    private static final int ONGOING_NOTIFICATION = 1;

    private Notification notification;

    @Override
    public void onCreate() {
        super.onCreate();

        this.notification = new Notification(R.drawable.statusbar, getText(R.string.app_name), System.currentTimeMillis());
        Intent notificationIntent = new Intent(this, AbList.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        this.notification.setLatestEventInfo(this, getText(R.string.app_name), "Update This Text", pendingIntent);

        startForeground(ONGOING_NOTIFICATION, this.notification);

    }

以下のように、私のメインアクティビティでサービスを作成しています。

    // Start Notification Service
    Intent serviceIntent = new Intent(this, NotificationService.class);
    startService(serviceIntent);

解決方法は?

を呼び出すと思います。 startForeground() 同じユニークIDで再度 Notification を新しい情報に置き換えるというシナリオは、まだ試していませんが、うまくいくでしょう。

更新:コメントに基づいて、あなたは通知を更新するためにNotifcationManagerを使用する必要があり、あなたのサービスはフォアグラウンドモードに滞在し続ける。以下の回答を見てください。