Как отключить специальные возможности в приложении Qt?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как отключить специальные возможности в приложении Qt?

Сообщение Anonymous »

Проблема: вы создаете приложение Android Qt C++. Когда у пользователя включены какие-либо специальные возможности, приложение тормозит, работает настолько медленно, что становится непригодным для использования и в конечном итоге выходит из строя.
В соответствующем журнале Android вы найдете такие записи:

Код: Выделить всё

[2025-12-28 13:42:43.177 Uid(value=10021):11177:11177 W/Qt A11Y]
Accessibility: populateNode for Invalid ID
[2025-12-28 13:42:43.178 Uid(value=10021):11177:11177 W/Qt A11Y]
AccessibilityEvent with empty description
Проблема присутствует в журналах ошибок Qt начиная с Qt 5.2 до Qt 6.8, сейчас я использую Qt 6.10, и она появилась снова.

Возможные решения:
  • В Qt 6.8 было довольно простое решение. Вы используете следующий код в функции main() C++, чтобы определить переменную среды перед созданием экземпляра класса QApplication:

    Код: Выделить всё

    qputenv("QT_ANDROID_DISABLE_ACCESSIBILITY", "1");
    
  • Вы также можете пересобрать все библиотеки Qt из исходного кода, указав параметр конфигурации -no-feature-accessibility во время сборки:
    https://doc.qt.io/qt-6/configure-options.html
Решение (1) больше не работает в Qt 6.10, хотя код Java для чтения окружения «QT_ANDROID_DISABLE_ACCESSIBILITY». переменная все еще присутствует (файл: QtAccessibilityDelegate.java)
Решение (2) кажется слишком радикальным и сложным для такой проблемы (и вы должны повторять его при каждом обновлении Qt 6.x).
Я также пытался отключить функции специальных возможностей в AndroidManifest.xml или вызвать некоторые связанные функции Android Java, но ничего не решило проблему: приложение по-прежнему зависает и вылетает, записи журнала по-прежнему присутствует.
Есть ли какие-нибудь простые исправления без необходимости каждый раз пересобирать библиотеки Qt?

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-a-qt-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»