C
AndroidAppsUtils QML 类型
Qt 对 Android Apps Utils 的包装器。 更多...
导入声明 | import QtAndroidAutomotive.Base |
属性
- installedAppsModel : model
方法
- int appUid(string packageName)
(自 QtAndroidAutomotive 6.5)
- bool hasNotificationAccess(string notificationListenerServiceName)
- bool showAppInfo(string packageName)
- bool startActivityWithAction(string action)
- bool startApp(string packageName)
- bool startAppOnScreen(string packageName, const QQuickScreenInfo *screenInfo)
(自 QtAndroidAutomotive 6.5)
- bool startAppOnScreenById(string packageName, int displayId)
(自 QtAndroidAutomotive 6.5)
- bool uninstallApp(string packageName)
详细描述
AndroidAppsUtils
允许访问 Android API,以操作应用程序,如启动、卸载以及获取名称和图标。
属性文档
installedAppsModel : model |
此属性保存 Android 设备上已安装应用程序的模型。该模型基于 QAbstractListModel,并管理从 Android Drawable 对应方检索到的包含应用程序名称、包名称和图标的元素列表。
以下是一个使用此模型的示例
ListView { id: listView clip: true flickableDirection: Flickable.VerticalFlick model: AndroidAppsUtils.installedAppsModel delegate: Rectangle { id: delegate height: window.height * 0.05 width: ListView.view.width Row { Text { id: appName text: model.appName + " " + model.packageName } } } }
要在 Image 中使用应用程序的图标,请使用以下内容
Image { id: appIcon source: model.AppIconString }
方法文档
返回由 packageName 指定的包的 UID 或者在指定的包无法找到的情况下返回 -1
。
Button { id: uidButton onClicked: { const uid = AndroidAppsUtils.appUid("org.qtproject.example.name") console.log("User ID:", uid) } }
此方法是在 QtAndroidAutomotive 6.5 中引入的。
检查通知监听服务《notificationListenerServiceName》是否具有通知访问权限。如果访问权限被授予,则返回true
,否则返回false
。
《notificationListenerServiceName》需要是你定义在AndroidManifest文件中的通知监听服务类的全名。有关更多信息,请参阅Android: NotificationListenerService。
通知访问权限需要用户从通知访问设置视图进行授予。要打开该视图,您可以执行以下操作
Component.onCompleted: { if (!AndroidAppsUtils.hasNotificationAccess("com.example.mynotificationlistenerservice")) { AndroidAppsUtils.startActivityWithAction( "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS") } }
另请参阅AndroidAppsUtils::startActivityWithAction(string action)。
显示与所提供的packageName关联的应用的程序的信息设置视图。如果找到并启动了应用程序活动,则返回true
,否则返回false
。
Button { id: startButton onClicked: AndroidAppsUtils.showAppInfo("org.qtproject.example.name") }
启动与给定的action关联的活动。有关更多信息,请参阅Android: Building an Intent。如果找到并启动应用程序活动,则返回true
,否则返回false
。
例如,要打开蓝牙设置视图,您可以使用以下代码
Button { id: startButton text: qsTr("Open Bluetooth Settings") onClicked: AndroidAppsUtils.startActivityWithAction("android.settings.BLUETOOTH_SETTINGS") }
启动与提供的packageName关联的应用程序。如果找到并启动应用程序活动,则返回true
,否则返回false
。
Button { id: startButton onClicked: AndroidAppsUtils.startApp("org.qtproject.example.name") }
在标识为screenInfo的屏幕上启动与提供的packageName关联的应用程序。
如果已启动应用程序,则返回true
,否则返回false
。
Button { id: startButton onClicked: AndroidAppsUtils.startAppOnScreen("org.qtproject.example.name", Application.screens[0]) }
此方法是在 QtAndroidAutomotive 6.5 中引入的。
另请参阅Application.screens。
在标识为displayId的屏幕上启动与提供的packageName关联的应用程序。
如果已启动应用程序,则返回true
,否则返回false
。
Button { id: startButton onClicked: AndroidAppsUtils.startAppOnScreenById("org.qtproject.example.name", 0) }
此方法是在 QtAndroidAutomotive 6.5 中引入的。
另请参阅Application.screens。
请求卸载与提供的packageName关联的应用程序的卸载对话框。如果找到并启动应用程序活动,则返回true
,否则返回false
。
Button { id: startButton onClicked: AndroidAppsUtils.uninstallApp("org.qtproject.example.name") }
在特定的Qt许可下可用。
了解更多信息。