diff options
Diffstat (limited to 'examples/corelib/platform/androidnotifier/android')
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/AndroidManifest.xml | 42 | ||||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-hdpi/icon.png | bin | 0 -> 3654 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-ldpi/icon.png | bin | 0 -> 1432 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-mdpi/icon.png | bin | 0 -> 1998 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-xhdpi/icon.png | bin | 0 -> 4549 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-xxhdpi/icon.png | bin | 0 -> 9275 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/res/drawable-xxxhdpi/icon.png | bin | 0 -> 12866 bytes | |||
-rw-r--r-- | examples/corelib/platform/androidnotifier/android/src/org/qtproject/example/androidnotifier/NotificationClient.java | 46 |
8 files changed, 88 insertions, 0 deletions
diff --git a/examples/corelib/platform/androidnotifier/android/AndroidManifest.xml b/examples/corelib/platform/androidnotifier/android/AndroidManifest.xml new file mode 100644 index 0000000000..1d3cf1325b --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/AndroidManifest.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.qtproject.example.androidnotifier" + android:installLocation="auto" + android:versionCode="1" + android:versionName="1.0"> + + <!-- %%INSERT_PERMISSIONS --> + <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> + <!-- %%INSERT_FEATURES --> + + <supports-screens + android:anyDensity="true" + android:largeScreens="true" + android:normalScreens="true" + android:smallScreens="true" /> + <application + android:name="org.qtproject.qt.android.bindings.QtApplication" + android:extractNativeLibs="true" + android:hardwareAccelerated="true" + android:label="Qt Notifier" + android:requestLegacyExternalStorage="true" + android:icon="@drawable/icon" + android:allowBackup="true" + android:fullBackupOnly="false"> + <activity + android:name="org.qtproject.qt.android.bindings.QtActivity" + android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" + android:launchMode="singleTop" + android:screenOrientation="unspecified" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.LAUNCHER"/> + </intent-filter> + + <meta-data + android:name="android.app.lib_name" + android:value="-- %%INSERT_APP_LIB_NAME%% --"/> + </activity> + </application> +</manifest> diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-hdpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 0000000000..d3ccebe1f2 --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-hdpi/icon.png diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-ldpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 0000000000..2194be145e --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-ldpi/icon.png diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-mdpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 0000000000..31812ccdd9 --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-mdpi/icon.png diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-xhdpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-xhdpi/icon.png Binary files differnew file mode 100644 index 0000000000..3aeae642d9 --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-xhdpi/icon.png diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-xxhdpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-xxhdpi/icon.png Binary files differnew file mode 100644 index 0000000000..f754fd18ae --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-xxhdpi/icon.png diff --git a/examples/corelib/platform/androidnotifier/android/res/drawable-xxxhdpi/icon.png b/examples/corelib/platform/androidnotifier/android/res/drawable-xxxhdpi/icon.png Binary files differnew file mode 100644 index 0000000000..d0d043bf9c --- /dev/null +++ b/examples/corelib/platform/androidnotifier/android/res/drawable-xxxhdpi/icon.png 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(); + } + } +} |