summaryrefslogtreecommitdiffstats
path: root/examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java')
-rw-r--r--examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java b/examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java
new file mode 100644
index 0000000000..4cd6c959f6
--- /dev/null
+++ b/examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java
@@ -0,0 +1,46 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+package org.qtproject.example.androidnotifier;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.graphics.BitmapFactory;
+import android.app.NotificationChannel;
+
+public class NotificationClient
+{
+ public static void notify(Context context, String message) {
+ try {
+ NotificationManager m_notificationManager = (NotificationManager)
+ context.getSystemService(Context.NOTIFICATION_SERVICE);
+
+ Notification.Builder m_builder;
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
+ int importance = NotificationManager.IMPORTANCE_DEFAULT;
+ NotificationChannel notificationChannel;
+ notificationChannel = new NotificationChannel("Qt", "Qt Notifier", importance);
+ m_notificationManager.createNotificationChannel(notificationChannel);
+ m_builder = new Notification.Builder(context, notificationChannel.getId());
+ } else {
+ m_builder = new Notification.Builder(context);
+ }
+
+ Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon);
+ m_builder.setSmallIcon(R.drawable.icon)
+ .setLargeIcon(icon)
+ .setContentTitle("A message from Qt!")
+ .setContentText(message)
+ .setDefaults(Notification.DEFAULT_SOUND)
+ .setColor(Color.GREEN)
+ .setAutoCancel(true);
+
+ m_notificationManager.notify(0, m_builder.build());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}