Всем доброго времени суток.
Занимаюсь разработкой qt под android и начал сталкиваться с проблемой отсутствия интернета на андроид 7 и выше в приложении, при том что интернет в телефоне есть.
Вот вопрос, который уже поднимал здесь, но его решение рассчитано на android studio, а не на qt:
internet android 7+
Как можно запросить права на интернет в рантайме(qt 5.10.1)? пытаюсь это сделать такой конструкцией, но результата нет:
#include "my_app.h"
#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 заработал без проблем
Комментариев нет:
Отправить комментарий