LocationManager は、位置データを取得するときに使用する NETWORK_PROVIDER をどのように選択しますか? LocationManager が NETWORK_PROVIDER を選択するプロバイダーを特定できるようにしたいと考えています。
たとえば、2 つの近くの NETWORK_PROVIDER ロケーション、X (近い) と Y (それほど近くない) があるとします。1 つの場所に立っている場合、NETWORK_PROVIDER が X になることもあれば、Y になることもあります。精度が最も高い場所が返されると想定し (そのため、通常は X が返されます)、他のすべてのネットワークは無視されますが、近くのすべてのネットワーク (または少なくとも上位 2 つまたは 3 つ) のリストを同時に返します。
.getProvider() メソッドのいずれか (私が知る限り) はプロバイダーのタイプ (ネットワーク、GPS、パッシブ) を返しますが、プロバイダーを実際に識別するものは何もありません。場所が返されると、場所データはプロバイダーに対して一意になりますが、プロバイダーの選択には使用できません。X からデータを取得できますが、プログラムに X を無視するように指示することはできません (または、できますか?)。
とにかくこれを実現するには?NETWORK_PROVIDERS のリストまたは配列を返し、それらをステップ実行して位置データを取得するには?
いいえ、GPS_PROVIDER の使用は受け入れられる答えではありません。必要なのは NETWORK_PROVIDER データだけだからです。