mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-01-24 04:44:31 +08:00
44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
// Copyright (C) 2021 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
#include "notificationclient.h"
|
|
|
|
#include <QtCore/qjniobject.h>
|
|
#include <QtCore/qcoreapplication.h>
|
|
|
|
NotificationClient::NotificationClient(QObject *parent)
|
|
: QObject(parent)
|
|
{
|
|
connect(this, &NotificationClient::notificationChanged,
|
|
this, &NotificationClient::updateAndroidNotification);
|
|
}
|
|
|
|
void NotificationClient::setNotification(const QString ¬ification)
|
|
{
|
|
if (m_notification == notification)
|
|
return;
|
|
|
|
//! [notification changed signal]
|
|
m_notification = notification;
|
|
emit notificationChanged();
|
|
//! [notification changed signal]
|
|
}
|
|
|
|
QString NotificationClient::notification() const
|
|
{
|
|
return m_notification;
|
|
}
|
|
|
|
//! [Send notification message to Java]
|
|
void NotificationClient::updateAndroidNotification()
|
|
{
|
|
QJniObject javaNotification = QJniObject::fromString(m_notification);
|
|
QJniObject::callStaticMethod<void>(
|
|
"org/qtproject/example/androidnotifier/NotificationClient",
|
|
"notify",
|
|
"(Landroid/content/Context;Ljava/lang/String;)V",
|
|
QNativeInterface::QAndroidApplication::context(),
|
|
javaNotification.object<jstring>());
|
|
}
|
|
//! [Send notification message to Java]
|