C
AndroidNotificationListener QML 类型
允许监听 Android 设备上发布的通知。 更多信息...
导入声明 | import QtAndroidAutomotive.Base |
自 | Qt 6.4 |
属性
- connected : bool
- notificationAccess : bool
- notificationsModel : QAbstractListModel
(since 6.4)
信号
- notificationPosted(string key)
- notificationRemoved(string key)
方法
- void dismissNotification(string key)
- void launchContentIntent(string key)
- void requestNotificationAccess()
- void snoozeNotification(string key, int duration)
- void start()
- void stop()
详细描述
AndroidNotificationListener 允许监听 Android 设备上发布的通知。它使用 Android 的 NotificationListenerService 来接收有关已发布或删除的通知的信息。
注意:它是一个单例,因此您不需要在 qml 代码中声明它。
通知监听器已知问题和限制
检查是否授予了对通知的访问权限需要 Android API 27 或更高版本才能正常工作。
属性文档
connected : bool |
此属性表示监听器是否连接到 Android 的通知服务并准备使用。
注意:由于Android通知监听器的底层实现,在监听器成功连接之前,唯一可用的功能是 start(). 在此属性保持 false
时使用其他功能不会产生预期行为。因此,建议在尝试访问其他功能之前检查此属性是否为 true
。
另请参阅 notificationAccess。
notificationAccess : bool |
此属性表示是否已授予监听通知的访问权限。如果已授权访问,则保留 true
,如果没有,则保留 false
。
注意:由于使用了底层Android API,此属性只能在使用的Android API级别为27(Android 8.1)或更高时显示通知访问。如果使用较低的API级别,则该属性始终为 true
,这意味着 AndroidNotificationListener 不会自行处理访问请求。相反,您需要自行处理访问请求,例如通过调用 requestNotificationAccess ()。
notificationsModel : QAbstractListModel |
此属性保留Android设备上活动通知的模型。模型基于 QAbstractListModel,并管理包含以下元素的列表:
角色 | 类型 |
---|---|
有效 | bool |
notificationId | int |
key | string |
packageName | string |
clearable | bool |
title | string |
content | string |
iconSmall | string |
iconLarge | string |
postTime | Date |
visibility | 枚举 |
actions | Array |
每个 action
具有以下属性
属性 | 类型 |
---|---|
title | string |
icon | string |
按照以下方式使用模型
ListView { id: listView anchors.fill: parent model: AndroidNotificationListener.notificationsModel delegate: NotificationDelegate { width: listView.width } }
要使用通知图标在 Image 中,请使用以下方式
Image { id: notificationIcon source: model.iconSmall }
要使用动作属性
RowLayout { id: actionsLayout Layout.leftMargin: iconItem.width + 12 Repeater { id: actionsModel model: root.actions delegate: Button { text: root.actions[index].title icon.source: root.actions[index].icon onClicked: root.actions[index].performAction() } } }
此属性是在Qt 6.4中引入的。
信号文档
notificationPosted(string key) |
当新通知已发布且具有给定 key 时发出此信号。
注意:对应处理器是 onNotificationPosted
。
notificationRemoved(string key) |
当具有给定 key 的通知被删除时发出此信号。
注意:对应处理器是 onNotificationRemoved
。
方法文档
void dismissNotification(string key) |
如果当前有一个活动通知,并且是可清除的,则 dismisses 给定的 key 的通知。
void launchContentIntent(string key) |
将匹配的 key 的通知的 contentIntent 发送出去。如果通知没有有效的 contentIntent,则调用此函数不会产生效果。
void requestNotificationAccess() |
打开设置视图以授权访问通知。
使用匹配的 键 和毫秒数 持续时间 使通知进入睡眠状态。这将导致睡眠状态的通知被移除,并在 持续时间 过去后再次发布。在这些时间,将与正常移除或发布通知时一样,发出 notificationRemoved(string key) 和 notificationPosted(string key) 信号。
void start() |
void stop() |
停止监听通知,解除绑定服务。
另请参阅 start()。
根据某些 Qt 许可证可用。
了解更多。