Android: request POST_NOTIFICATIONS permission for Android Notifier
Android 13 and above requires the notification permission "android.permission.POST_NOTIFICATIONS" to be requested at runtime. Fixes: QTBUG-121668 Change-Id: I38512ffc07c1a3ffe7cddffa937b98332f172d15 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit 7fa6d09ca20b27b8350e6e26040372ba70e6244d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 6ca01cd2d24f75273e9aeeed8a45417e2b81bf66) (cherry picked from commit 0560e597a61320a491c13028f78f1a1e0fb75498)
This commit is contained in:
parent
055b020acb
commit
aceecfc9c2
@ -26,6 +26,7 @@ qt_add_executable(androidnotifier
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(androidnotifier PRIVATE
|
target_link_libraries(androidnotifier PRIVATE
|
||||||
|
Qt6::CorePrivate
|
||||||
Qt6::Widgets
|
Qt6::Widgets
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<!-- The comment below will be replaced with dependencies permissions upon deployment.
|
<!-- The comment below will be replaced with dependencies permissions upon deployment.
|
||||||
Remove the comment if you do not require these default permissions. -->
|
Remove the comment if you do not require these default permissions. -->
|
||||||
<!-- %%INSERT_PERMISSIONS -->
|
<!-- %%INSERT_PERMISSIONS -->
|
||||||
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||||
<!-- The comment below will be replaced with dependencies permissions upon deployment.
|
<!-- The comment below will be replaced with dependencies permissions upon deployment.
|
||||||
Remove the comment if you do not require these default features. -->
|
Remove the comment if you do not require these default features. -->
|
||||||
<!-- %%INSERT_FEATURES -->
|
<!-- %%INSERT_FEATURES -->
|
||||||
|
@ -5,10 +5,22 @@
|
|||||||
|
|
||||||
#include <QtCore/qjniobject.h>
|
#include <QtCore/qjniobject.h>
|
||||||
#include <QtCore/qcoreapplication.h>
|
#include <QtCore/qcoreapplication.h>
|
||||||
|
#include <QtCore/private/qandroidextras_p.h>
|
||||||
|
|
||||||
|
using namespace Qt::StringLiterals;
|
||||||
|
|
||||||
NotificationClient::NotificationClient(QObject *parent)
|
NotificationClient::NotificationClient(QObject *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
{
|
{
|
||||||
|
if (QNativeInterface::QAndroidApplication::sdkVersion() >= __ANDROID_API_T__) {
|
||||||
|
const auto notificationPermission = "android.permission.POST_NOTIFICATIONS"_L1;
|
||||||
|
auto requestResult = QtAndroidPrivate::requestPermission(notificationPermission);
|
||||||
|
if (requestResult.result() != QtAndroidPrivate::Authorized) {
|
||||||
|
qWarning() << "Failed to acquire permission to post notifications "
|
||||||
|
"(required for Android 13+)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
connect(this, &NotificationClient::notificationChanged,
|
connect(this, &NotificationClient::notificationChanged,
|
||||||
this, &NotificationClient::updateAndroidNotification);
|
this, &NotificationClient::updateAndroidNotification);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user