0

我正在尝试将 Qt 5 应用程序转换为 Qt 6。在 Qt 5 中,我们可以请求 Android 权限,如下所示:

QStringList permissions;
//...
QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(permissions);
for (const auto &perm : permissions)
{
    if(resultHash[perm] == QtAndroid::PermissionResult::Denied)
    {
        qDebug() << "Permission denied:" << perm;
        return false;
    }
}

Qt 6 中的等价物是什么?或者是使用 JNI 手动实现这一点的唯一方法?

问候

4

1 回答 1

0

目前还没有权限处理 API Qt6。但是,它正在制作中。您可以从QTBUG-90498了解情况。看起来它已计划Qt6.4发布,我假设将在 2022 年秋季的某个时间发布。您可以从错误报告中找到代码审查链接,这可能有助于您编写自己的实现。

我建议您查看QNativeInterface::QAndroidApplication::runOnAndroidMainThread,您可以将其用于 Android UI 线程上的异步调用。

于 2022-02-23T11:39:24.923 回答