私のアプリでは、私は両方の場所プロバイダを使用したいと思います。GPSとネットワークプロバイダを切り替えるにはどうすればよいですか?
つまり、gpsが無効になっている場合、私のアプリをネットワークに切り替えることができ、gpsでスイッチバックを有効にすることができます。
私はこれらの2つの要求を処理するために2つのLocationListenerを使用しています。
public void onStatusChanged(String provider, int status,Bundle extras)
switch (status) {
case LocationProvider.TEMPORARILY_UNAVAILABLE:
......
break;
case LocationProvider.OUT_OF_SERVICE
.....
break;
case LocationProvider.AVAILABLE
.....
break;
}
各リスナーでは、onStatusChanged()
のステータスを検出します。 この方法は、最初の変更(無効なネットワーク)で使用されますが、ネットワークを再び有効にすると、何も表示されません。なぜですか?リスナーは常にステータスを検出しませんか?
コードで解決策を投稿することをお勧めします。ありがとう!
表情。 – user370305
皆さん、新しいソリューションはuser370305とFedorの仕事の組み合わせです。 Fedorは、適切なロケーション・プロバイダを初期化して選択することに尽力しました。そしてuser370305の助けを借りて。私たちはネットワーク/ gpsの状態を検出するスレッドを開始することができます。 'removeUpdates()'を実行すると、リスナーは動作しなくなるためです。だから、 'case LocationProvider.AVAILABLE'は役に立たない。あなたは新しいリクエストをするためにスレッドを使用することしかできません(私はそれが良いものではないことを知っていますので、より良い解決策があれば、私に教えてください、私はそれを見るのが大好きです!!ありがとう!) – alvan