Комментарии (0)
Нет комментариев. Ваш будет первым!
android { QT += androidextras } else { QT += widgets }
#include "notificationclient.h" //В зависимости от платформы подгружаем разные классы #ifdef __ANDROID__ #include <QtAndroidExtras/QAndroidJniObject> #else #include <QSystemTrayIcon> #endif { connect(this, SIGNAL(notificationChanged()), this, SLOT(updateNotification())); m_notification = ""; // Если не андройд то создаём TrayIcon и наполняем его #ifndef __ANDROID__ trayIcon->show(); #endif } { if (m_notification == notification) return; m_notification = notification; emit notificationChanged(); } { return m_notification; } //Две версии класса показа уведомлений - одну для Android другую для Desctiop #ifdef __ANDROID__ void NotificationClient::updateNotification() { //Обратите внимание на путь он нам сильно понадобиться далее! "notify", "(Ljava/lang/String;)V", javaNotification.object<jstring>()); } #else void NotificationClient::updateNotification() { } #endif
#ifndef NOTIFICATIONCLIENT_H #define NOTIFICATIONCLIENT_H #include <QObject> //тут я думаю всё понятно что и зачем? Нет? Тогда в комментарии... #ifndef __ANDROID__ #include <QSystemTrayIcon> #endif { Q_OBJECT public: signals: void notificationChanged(); private slots: void updateNotification(); private: QString m_notification; #ifndef __ANDROID__ #endif }; #endif // NOTIFICATIONCLIENT_H
<?xml version="1.0"?> <manifest android:installLocation="auto" android:versionCode="15" package="org.chebfm.chat" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.4.2"> <application android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="Radio ChebFM Chat" android:icon="@drawable/icon"> <activity android:name="org.chebfm.chat.NotificationClient" android:label="ChebFM Chat" android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation" android:screenOrientation="unspecified"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <meta-data android:value="chat" android:name="android.app.lib_name"/> <!-- ETC -->
// Помните про org.example.sxx - это вот вставлять сюда :) package org.chebfm.chat; import android.app.Notification; import android.app.NotificationManager; import android.content.Context; public class NotificationClient extends org.qtproject.qt5.android.bindings.QtActivity { private static NotificationManager m_notificationManager; private static Notification.Builder m_builder; private static NotificationClient m_instance; public NotificationClient() { m_instance = this; } { if (m_notificationManager == null) { m_notificationManager = (NotificationManager)m_instance.getSystemService(Context.NOTIFICATION_SERVICE); m_builder = new Notification.Builder(m_instance); m_builder.setSmallIcon(R.drawable.icon); m_builder.setContentTitle("ChebFM Chat"); } m_builder.setContentText(s); m_notificationManager.notify(1, m_builder.getNotification()); } }
NotificationClient *Notification = new NotificationClient();
Нет комментариев. Ваш будет первым!
Ну и где доказательства про 18 запусков у маска в 2018 году? Или ты предпочтешь и тут...