Мое приложение считает некоторые числа, и я хочу показать это число в push-уведомлении.
У меня есть 2 вопроса; как передать этот номер в качестве параметра моему файлу notification_view.xml и как обновить этот номер при изменении? Нужно ли обновлять текущее уведомление, используя тот же канал уведомлений?
Я не стал приводить примеры кода, потому что даже не нашел, что попробовать.
вы можете попробовать обновить уведомление, например:
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
mNotifyBuilder.setContentText(currentText)
.setNumber(++numMessages);
// Because the ID remains unchanged, the existing notification is
// updated.
mNotificationManager.notify(
notifyID,
mNotifyBuilder.build());
объявите val mRemoteViews = RemoteViews(packageName, R.layout.notification_view)
, а затем .setContent(mRemoteViews)
, вы можете обновить элемент пользовательского интерфейса с помощью mRemoteViews.setTextViewText(R.id.number, "12");
, и не забудьте вызвать mNotificationManager.notify( notifyID, mNotifyBuilder.build());
Понял. Спасибо. Но это не отвечает на первый вопрос. Я показываю некоторые числа внутри моего
notification_view.xml
. Таким образом, содержимое уведомления исходит из этого файла, что означает, что я не делаюsetContentTitle
илиsetContentText
. Но вместо этого я устанавливаю содержимое следующим образом:.setContent(RemoteViews(packageName, R.layout.notification_view))
Как мне обновить элемент пользовательского интерфейса внутри этогоnotification_view.xml
из моего, скажем,MainActivity.kt
?