обновление службы уведомлений от активности - PullRequest
0 голосов
/ 27 мая 2018

У меня есть служба уведомлений , которая запускается при запуске приложения, и есть 2 кнопки в основной активности , я хочу обновить уведомление, нажимая на каждую кнопку, например, если я нажимаюКнопка «Пуск», текстовое представление в службе уведомлений должно отображаться: вы нажали кнопку «Пуск» и ..

Я хочу обновить уведомление о своей деятельности, как мне это сделать?

вот мой код:

public class MainActivity extends AppCompatActivity {

Button btn_start,btn_end;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    btn_start = (Button) findViewById(R.id.btn_start);
    btn_end = (Button) findViewById(R.id.btn_end);


    Intent serviceIntent = new Intent(MainActivity.this, NotificationService.class);
    serviceIntent.setAction("startforeground");
    startService(serviceIntent);


}
public class NotificationService extends Service {
Notification status;
public static int FOREGROUND_SERVICE = 101;

@Override
public void onDestroy() {
    super.onDestroy();
}

@Override
public IBinder onBind(Intent intent) {
    return null;
}

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


    if (intent.getAction().equals("startforeground")) {
        showNotification();
    }

    return START_STICKY;
}

private void showNotification() {
    RemoteViews views = new RemoteViews(getPackageName(), R.layout.status_bar);
    RemoteViews bigViews = new RemoteViews(getPackageName(), R.layout.status_bar_expanded);
    status = new Notification.Builder(this).build();
    status.contentView = views;
    status.bigContentView = bigViews;
    status.flags = Notification.FLAG_ONGOING_EVENT;
    status.icon = R.drawable.ic_launcher;
    startForeground(FOREGROUND_SERVICE, status);
}

}

1 Ответ

0 голосов
/ 27 мая 2018

Вы должны использовать тот же способ, что и при его создании, а затем обновить его тем, что вам нужно, используя этот метод:

NotificationManagerCompat.notify ()

Подробнее см. Здесь: https://developer.android.com/training/notify-user/build-notification

Вам необходимо использовать один и тот же идентификатор уведомления для создания и обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...