Страницы

Поиск по вопросам

пятница, 30 ноября 2018 г.

Qt под android 7+

Всем доброго времени суток. Занимаюсь разработкой 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(); }


Ответ

Всё оказалось банально. В android 7+ нет поддержки ssl "из коробки" (google убрал). Обычный http заработал без проблем

Комментариев нет:

Отправить комментарий