OK,positioning module dose not work on Android,maybe there is someone who will helps?
-
Re: Qt Android Precise Location Issue
my code is here:
void Widget::on_auto_location_clicked() { if(this->location_set_sys == 0) this->location_set_sys = 1; else if(this->location_set_sys == 1) this->location_set_sys = 0; QLocationPermission locationPermission; locationPermission.setAccuracy(QLocationPermission::Precise); if(qApp->checkPermission(locationPermission) != Qt::PermissionStatus::Granted) { qApp->requestPermission(QLocationPermission{}, this, &Widget::permissionUpdated); } else { qDebug() << "PERMISSION ALREADY GRANTED"; } QGeoPositionInfoSource *source = QGeoPositionInfoSource::createSource("android",this); if (source) { // qDebug()<<"source"; connect(source, &QGeoPositionInfoSource::positionUpdated,this,[=](const QGeoPositionInfo &info) { qDebug()<<info; ui->longitude->setText(QString::number(info.coordinate().longitude())); ui->latitude->setText(QString::number(info.coordinate().latitude())); QJsonObject message,params,location_set; location_set.insert("location_set_sys",this->location_set_sys); location_set.insert("longitude",info.coordinate().longitude()); location_set.insert("latitude",info.coordinate().latitude()); params.insert("aqi_out_of_door", ""); params.insert("aqi_in_the_room", ""); params.insert("win_state",this->win_state); params.insert("humidity",0); params.insert("temperature",0); params.insert("openning_time",-1); params.insert("aqi_threshold",""); params.insert("location_set",QString(QJsonDocument(location_set).toJson(QJsonDocument::Compact))); message.insert("params",params); message.insert("version","1.0.0"); mqtt_w->send_message(QString(QJsonDocument(message).toJson())); qDebug()<<"info"; source->stopUpdates(); }); source->requestUpdate(); } else { qDebug()<<"defeat"; } // ui->auto_location->setEnabled(false); }if works well on linux mint,and two months ago it works on Android normally,too.
today when i test it again on Android ,it just return blank. the slot to get position never works after "source->requestUpdate();" <Q_Q<here is the log:
D libai_win_arm64-v8a.so: PERMISSION ALREADY GRANTED I qt.positioning.android: Unknown positioningMethod I qt.positioning.android: Unknown positioningMethod D qt.positioning.android: Single update using GPS D qt.positioning.android: Looper Thread startup time in ms: 0 D qt.positioning.android: Single update using network D qt.positioning.android: Stopping updatesyes ,everything looks normally,but,the slot do not works
help me !! <Q_Q<