#android #cpp #qt #qt5 #android_permissions
Всем доброго времени суток. Занимаюсь разработкой qt под android и начал сталкиваться с проблемой отсутствия интернета на андроид 7 и выше в приложении, при том что интернет в телефоне есть. Вот вопрос, который уже поднимал здесь, но его решение рассчитано на android studio, а не на qt: internet android 7+ Как можно запросить права на интернет в рантайме(qt 5.10.1)? пытаюсь это сделать такой конструкцией, но результата нет: #include "my_app.h" #include#ifdef ANDROID #include #endif #include bool checkPermission(const QString& perm) { #ifdef ANDROID QtAndroid::PermissionResult r = QtAndroid::checkPermission(perm); if(r == QtAndroid::PermissionResult::Denied) { QtAndroid::requestPermissionsSync( QStringList() << perm ); r = QtAndroid::checkPermission(perm); if(r == QtAndroid::PermissionResult::Denied) { QMessageBox::information(0, "Ошибка", "получить разрешение не удалось"); return false; } } #endif return true; } int main(int argc, char *argv[]) { checkPermission("android.permission.ACCESS_WIFI_STATE"); checkPermission("android.permission.ACCESS_NETWORK_STATE"); checkPermission("android.permission.INTERNET"); QApplication a(argc, argv); MyApp w; w.show(); return a.exec(); }
Ответы
Ответ 1
Всё оказалось банально. В android 7+ нет поддержки ssl "из коробки" (google убрал). Обычный http заработал без проблем
Комментариев нет:
Отправить комментарий