Como detectar se as fontes GPS estão habilitadas usando QtPositioning no Ubuntu Touch?

Como detectar se as fontes GPS estão habilitadas usando QtPositioning no Ubuntu Touch?

Estou usando o PositionSource para obter a latitude e longitude da localização do usuário a partir dos dados GPS fornecidos pelo Ubuntu Touch. Porém preciso detectar se o GPS foi habilitado pelo usuário.

Ao ler a documentação oficial do PositionSourceaqui, descobri que tem a propriedadeválidoque citando os documentos oficiais diz,

Esta propriedade é verdadeira se o objeto PositionSource adquiriu um plugin de backend válido para fornecer dados. Se for falso, outros métodos no PositionSource não terão efeito.

Os aplicativos devem verificar essa propriedade para determinar se o posicionamento está disponível e habilitado na plataforma de tempo de execução e reagir de acordo.

No entanto, esta propriedade parece não ser atualizada quando eu habilito/desabilito o serviço de localização no Ubuntu Touch. Tentei alterar o status do GPS usando a GUI (indicador de localização) e na linha de comando,

stop ubuntu-location-service-trust-stored

Existe alguma outra propriedade que eu possa rastrear para verificar se o GPS está ativado/desativado no telefone?

Responder1

Os aplicativos não devem confiar no conhecimento sobre o provedor de posicionamento real, mas sim nas estimativas de precisão fornecidas com atualizações de posição individuais (consultehttp://developer.ubuntu.com/api/qml/sdk-14.10/QtLocation.Position/#horizontalAccuracy-prop). Com isso, os desenvolvedores de aplicativos não precisam se preocupar com características específicas dos sistemas de posicionamento baseados em satélite (por exemplo, GPS, GLONASS, Beidou) e, em vez disso, concentrar-se na tarefa em questão.

Mais do que isso, o subsistema de localização no Ubuntu pode nem usar GPS para fornecer estimativas de posição, mas, em vez disso, confiar apenas no posicionamento baseado em rede.

informação relacionada