C
QAndroidAppsUtils 类
辅助类,封装了管理 Android 应用的重要功能。 更多...
头文件 | #include <QAndroidAppsUtils> |
CMake | find_package(Qt6 REQUIRED COMPONENTS AndroidAutomotiveBase) target_link_libraries(mytarget PRIVATE Qt6::AndroidAutomotiveBase) |
继承 | QObject |
信号
void | appInstalled(QtAndroidAppsUtils::QAppItem *appItem) |
void | appUninstalled(QString packageName) |
静态公共成员
(since QtAndroidAutomotive 6.5) int | appUid(const QString &packageName) |
bool | hasNotificationAccess(const QString ¬ificationListenerServiceName) |
QtAndroidAppsUtils::QAppsListModel * | installedAppsModel() |
QAndroidAppsUtils * | instance() |
bool | showAppInfo(const QString &packageName) |
bool | startActivityWithAction(const QString &action) |
bool | startApp(const QString &packageName) |
(since QtAndroidAutomotive 6.5) bool | startAppOnScreen(const QString &packageName, const QScreen *screen) |
(since QtAndroidAutomotive 6.5) bool | startAppOnScreen(const QString &packageName, int displayId) |
bool | uninstallApp(const QString &packageName) |
成员函数文档
[signal]
void QAndroidAppsUtils::appInstalled(QtAndroidAppsUtils::QAppItem *appItem)
当对应的 appItem 被安装时,会发出此信号。
[static, since QtAndroidAutomotive 6.5]
int QAndroidAppsUtils::appUid(const QString &packageName)
返回由 packageName 指定的包的 UID,如果没有找到指定的包,则返回 -1
。
此函数自 QtAndroidAutomotive 6.5 引入。
[signal]
void QAndroidAppsUtils::appUninstalled(QString packageName)
当具有相应 packageName 的应用被卸载时,会发出此信号。
[静态]
bool QAndroidAppsUtils::hasNotificationAccess(const QString ¬ificationListenerServiceName)
检查通知监听服务,notificationListenerServiceName 是否具有通知访问权限。如果权限授予,则返回 true
,否则返回 false
。
notificationListenerServiceName 需要是您在 AndroidManifest 文件中定义的通知监听服务类的完整名称。更多信息,请参阅 Android: NotificationListenerService。
通知权限需要用户从通知权限设置视图中进行授予。要打开该视图,您可以执行以下操作
if (!QAndroidAppsUtils::hasNotificationAccess("com.example.mynotificationlistenerservice")) { QAndroidAppsUtils::startActivityWithAction( "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS); }
另请参阅QAndroidAppsUtils::startActivityWithAction(const QString &action)。
[静态]
QtAndroidAppsUtils::QAppsListModel *QAndroidAppsUtils::installedAppsModel()
返回一个基于 QAbstractListModel 的模型指针(所有权转让给调用方),该模型是用于已安装的 Android 应用。该模型管理包含应用名称、包名和图标的列表。
[静态]
QAndroidAppsUtils *QAndroidAppsUtils::instance()
返回指向 QAndroidAppsUtils 实例的指针。
[静态]
bool QAndroidAppsUtils::showAppInfo(const QString &packageName)
显示由 packageName 指定的包的应用信息设置视图。如果找到并启动了应用 Activity,则返回 true
,如果没有找到,则返回 false
。
[静态]
bool QAndroidAppsUtils::startActivityWithAction(const QString &action)
启动与给定 action 相关的活动。更多信息,请参阅 Android: Building an Intent。如果找到并启动了应用 Activity,则返回 true
,否则返回 false
。
例如,要打开蓝牙设置视图,可以使用以下代码
void openBluetoothSettings() { QAndroidAppsUtils::startActivityWithAction("android.settings.BLUETOOTH_SETTINGS"); }
[静态,自从 QtAndroidAutomotive 6.5]
bool QAndroidAppsUtils::startApp(const QString &packageName)
启动与给定包名 packageName 相关的应用。如果找到并启动了应用 Activity,则返回 true
,如果没有找到,则返回 false
。
[静态,自从 QtAndroidAutomotive 6.5]
bool QAndroidAppsUtils::startAppOnScreen(const QString &packageName, const QScreen *screen)
在由 QScreen 对象 screen 标识的 packageName 上启动应用。
如果找到并启动应用 Activity,则返回 true
;如果没有找到或给定的屏幕无效,则返回 false
。
此函数自 QtAndroidAutomotive 6.5 引入。
[静态,自 QtAndroidAutomotive 6.5 版本起]
bool QAndroidAppsUtils::startAppOnScreen(const QString &packageName, int displayId)
在由 displayId 标识的屏幕上启动与给定 packageName 关联的应用。
如果找到并启动应用 Activity,则返回 true
;如果没有找到或给定的 displayId 无效,则返回 false
。
此函数自 QtAndroidAutomotive 6.5 引入。
[静态]
bool QAndroidAppsUtils::uninstallApp(const QString &packageName)
请求卸载与给定包名 packageName 关联的应用的卸载对话框。如果找到并启动应用 Activity,则返回 true
;如果没有找到,则返回 false
。
在某些 Qt 许可证下可用。
了解更多信息。