В Qt 5.15.2 я разрабатываю приложение Qt/QML, в котором мне нужно вызывать вибрацию на устройстве Android, когда пользователь нажимает кнопку. Я выполнил все необходимые шаги, включая импорт модуля Qt.AndroidExtras, добавление соответствующих разрешений в файл AndroidManifest.xml и вызов функции QtAndroid.currentActivity.vibrate() в обработчике onClicked кнопки входа в систему.
Однако после этих действий вибрация не работает, когда я нажимаю кнопку входа в систему. Я проверил, что обработчик onClicked запускается и что в выводе logcat Android нет ошибок или предупреждений.
Вот соответствующий фрагмент кода из моих файлов ,QT += androidextras
QTANDROID_EXPORTED_JAVA_LIBRARIES += $$PWD/build-qgroundcontrol-Android_Qt_5_15_2_Clang_Multi_Abi-Debug/android-build/libs/QtAndroidExtras.jarvoid vibrate(int milliseconds) {
QAndroidJniObject vibrator = QAndroidJniObject::callStaticObjectMethod("android/os/Vibrator", "getSystemService",
"(Ljava/lang/String;)Ljava/lang/Object;",
QAndroidJniObject::fromString("vibrator").object());
if (vibrator.isValid()) {
vibrator.callMethod("vibrate", "(J)V", jlong(milliseconds));
}
}
int main(int argc, char *argv[]) {
QGuiApplication app(argc, argv);
vibrate(10000);
return app.exec();
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... t-platform