ホームページ >Java >&#&チュートリアル >Android アプリがネットワーク プロバイダーを使用して位置情報を更新しないのはなぜですか?
Android で NETWORK プロバイダーを使用して現在の位置を取得する方法
Android での現在の位置の取得は、モバイル アプリケーションの一般的なタスクです。ただし、NETWORK プロバイダーを使用する場合は、基礎となるメカニズムを理解することが重要です。この記事では、NETWORK プロバイダーの使用時に、質問で提供された元のコードが場所を更新しない理由を調べます。
元のコードの問題
元のコードは LocationManager を利用して位置情報の更新を要求します。 GPS 測位は正しく処理されますが、ネットワーク測位は適切に処理されません。これは、コードが位置の変更を処理する LocationListener を定義していないためです。
LocationListener の定義
位置の更新を受信するには、LocationListener を定義する必要があります。物体。このオブジェクトは、場所が変更されるたびに呼び出されます。次のコード スニペットは、これを行う方法を示しています。
private final LocationListener mLocationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { // Your code here to handle the location change } };
位置情報の更新のリクエスト
LocationListener を定義したら、LocationManager から位置情報の更新をリクエストする必要があります。 。次のコード スニペットは、GPS プロバイダーからの更新をリクエストする方法を示しています:
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_REFRESH_TIME, LOCATION_REFRESH_DISTANCE, mLocationListener);
同様に、NETWORK プロバイダーからの更新をリクエストするには、次のコードを使用します:
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_REFRESH_TIME, LOCATION_REFRESH_DISTANCE, mLocationListener);
権限の宣言
必ず適切な権限を宣言してください。 AndroidManifest.xml ファイル。 NETWORK プロバイダーを使用するには、次の権限が必要です。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
結論
LocationListener を定義し、NETWORK プロバイダーから位置情報の更新を要求することで、次のことが可能になります。 Android アプリケーションの NETWORK プロバイダーを使用して、現在の場所を正常に取得します。
以上がAndroid アプリがネットワーク プロバイダーを使用して位置情報を更新しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。