1

AndroidのドキュメントLocationManager.getLastKnownLocation()から:

指定されたプロバイダーから取得した最後の既知のロケーションフィックスからのデータを示すロケーションを返します。

Note that this location could be out-of-date, for example if the device was turned off and moved to another location.

プロバイダーはどのくらいの頻度でデバイスの場所を更新しますか?それはどのように機能しますか?

私が尋ねる理由は、locationListenerを使用したくないということです。ボタンをクリックするだけで現在の地理的位置を取得する必要があり、それだけです。私はこのようにすることができますか?

    final LocationManager mlocManager = (LocationManager) getActivity()
            .getSystemService(Context.LOCATION_SERVICE);
    final Location currentGeoLocation = mlocManager
            .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
4

2 に答える 2

1

プロバイダーはどのくらいの頻度でデバイスの場所を更新しますか?それはどのように機能しますか?

それは状況によって異なります、そしてあなたは決して知らないかもしれません。デバイスの受信状態が良好な場合、ユーザーの位置に関する更新が迅速に実行されます。

私はこのようにすることができますか?

あまり。それがあまりにも早く発火している場合は、場所を取り戻すことはできません。ユーザーの受信状態が良くない場合は、ユーザーの場所を適切に把握するまでに10秒かかることがあります。これには少し違ったアプローチが必要だと思います。私はlocationListenersをお勧めしなければならないのではないかと思います:P

于 2013-02-25T00:26:41.047 に答える
1

あなたが絶対にあなたが試すことができる場所を待つことができないならば、あなたは結果getLastKnownLocation()を得る準備をする必要がありますNULL

getLastKnownLocation()指定したプロバイダーの最後の場所のキャッシュにすぎません。場合によっては、電話が再起動したときのように、まったく存在しないことがあります。キャッシュされた場所がある場合でも、正確でない場合があります。

于 2013-02-25T00:52:31.867 に答える