Как реализовать push-уведомление в приложении Qt для Android

Я разрабатываю приложение для Android с использованием Qt, теперь я хочу отправлять push-уведомления. Я не смог найти ни одной службы push-уведомлений с Qt SDK. Следует отметить, что из-за санкций я не мог использовать Firebase. можно ли использовать другой SDK с помощью QAndroidJniObject в Qt? есть ли другие решения в этой ситуации?


person Amarilla    schedule 07.09.2017    source источник


Ответы (1)


Есть очень хороший пример Qt об уведомлении, и он использует QAndroidJniObject.

void NotificationClient::updateAndroidNotification()
{
    QAndroidJniObject javaNotification = QAndroidJniObject::fromString(m_notification);
    QAndroidJniObject::callStaticMethod<void>("org/qtproject/example/notification/NotificationClient",
                                       "notify",
                                       "(Ljava/lang/String;)V",
                                       javaNotification.object<jstring>());
}

В этом примере показано, как добавить пользовательский класс Java в приложение Android и как вызвать его с помощью удобных API-интерфейсов JNI в модуле Qt Android Extras.

Пример уведомления Qt для Android: http://doc.qt.io/qt-5/qtandroidxtras-notification-example.html

Это в примерах QtCreator начиная с Qt 5.7 и новее.

person Farhad    schedule 07.09.2017
comment
@ Elsiete.moon Если бы мой ответ был полезен, не могли бы вы принять его, спасибо. - person Farhad; 08.09.2017
comment
пример Qt был очень полезен, и я его очень ценю, но этот пример касается создания локального уведомления, и это, собственно, причина, по которой я не принял ваш ответ. - person Amarilla; 08.09.2017
comment
Что вы имеете в виду под local notification ? - person Farhad; 08.09.2017
comment
Хорошо, позвольте мне объяснить по-другому, я хочу отправлять уведомления пользователям, даже если мое приложение закрыто, я могу сделать это с помощью таких служб, как onesignal и напористый, но они не поддерживали Qt. - person Amarilla; 08.09.2017