Класс NotificationInfo
(Sailfish::Mdm::NotificationInfo)
Класс NotificationInfo управляет пользовательскими уведомлениями. Подробнее…
Заголовочный файл: | #include <mdm-notifications.h> |
Публичные методы
- NotificationInfo(QObject *parent = Q_NULLPTR)
- ~NotificationInfo()
- bool closeNotification(quint32 notificationId)
- quint32 createNotification(const Sailfish::Mdm::NotificationData &data)
- QList<NotificationData> notifications(const QString &owner = QString())
- QList<NotificationData> notificationsByCategory(const QString &category)
- quint32 updateNotification(quint32 notificationId, const Sailfish::Mdm::NotificationData &data)
Подробное описание
Класс NotificationInfo управляет пользовательскими уведомлениями.
С его помощью можно получать, обновлять и закрывать существующие уведомления, а также публиковать новые уведомления.
Подробную информацию об уведомлениях в ОС Аврора можно прочитать в документации к библиотеке nemo-qml-plugin-notifications.
Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:
CONFIG += link_pkgconfig
PKGCONFIG += sailfishmdm
и затем #include <mdm-notifications.h>
.
Пример использования:
#include <mdm-notifications.h>
void publishNotification(QObject *parent)
{
QVariantMap defaultAction;
defaultAction.insert("name", "default");
defaultAction.insert("displayName", "Do It!");
defaultAction.insert("icon", "icon-s-do-it");
defaultAction.insert("service", "org.sailfishos.example");
defaultAction.insert("path", "/example");
defaultAction.insert("iface", "org.sailfishos.example");
defaultAction.insert("method", "doIt");
defaultAction.insert("arguments", QVariantList() << "argument" << 2);
QVariantList remoteActions;
remoteActions << defaultAction;
Sailfish::Mdm::NotificationData data;
data.itemCount = 5;
data.category = "x-nemo.example";
data.appName = "Пример приложения";
data.appIcon = "/usr/share/example-app/icon-l-application";
data.summary = "Краткие сведения об уведомлении";
data.body = "Содержимое тела уведомления";
data.previewSummary = "Краткие сведения о предварительном просмотре уведомления";
data.previewBody = "Содержимое предварительного просмотра";
data.timestamp = QDateTime::currentDateTime();
data.remoteActions = remoteActions;
Sailfish::Mdm::NotificationInfo *info = new Sailfish::Mdm::NotificationInfo(parent);
quint32 id = info->createNotification(data);
info->deleteLater();
qInfo() << "Создано уведомление с идентификатором:" << id;
}
Описание методов класса
NotificationInfo::NotificationInfo(QObject *parent = Q_NULLPTR)
Конструктор для класса NotificationInfo с родительским элементом, указанным в параметре parent.
NotificationInfo::~NotificationInfo()
Деструктор для класса NotificationInfo.
bool NotificationInfo::closeNotification(quint32 notificationId)
Закрывает уведомление с идентификатором notificationId.
Возвращает true, если уведомление существует и было закрыто.
quint32 NotificationInfo::createNotification(const Sailfish::Mdm::NotificationData &data)
Создаёт новое уведомление с заданным data.
Возвращает идентификатор нового уведомления в случае успеха или ноль в случае неудачи.
QList<NotificationData> NotificationInfo::notifications(const QString &owner = QString())
Возвращает данные для всех уведомлений от указанного owner.
owner — это имя приложения, создавшего уведомление. В настоящее время по умолчанию используется значение, возвращаемое QCoreApplication::applicationName(), но оно может быть изменено приложением.
Если owner пуст, этот метод будет возвращать уведомления, созданные через MDM API.
QList<NotificationData> NotificationInfo::notificationsByCategory(const QString &category)
Возвращает данные для всех уведомлений в указанной category.
quint32 NotificationInfo::updateNotification(quint32 notificationId, const Sailfish::Mdm::NotificationData &data)
Обновляет уведомление с заданным notificationId в соответствии с обновлёнными данными data.
Возвращает идентификатор обновлённого уведомления в случае успеха или ноль в случае неудачи.