AndroidでGPSとネットワークを使用して位置情報を入手する方法
Androidでは、次の手順でGPSやNetWorkを利用して位置情報を取得できます。
- AndroidManifest.xmlファイルに位置情報を許可する権限を追加する
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- アクティビティ内でロケーションマネージャオブジェクトを作成し、ロケーションリスナーを登録します:
// 获取LocationManager对象
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// 创建定位监听器
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// 当位置发生变化时调用
double latitude = location.getLatitude();
double longitude = location.getLongitude();
// 处理定位信息
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// 当定位状态发生变化时调用
}
public void onProviderEnabled(String provider) {
// 当定位提供者可用时调用
}
public void onProviderDisabled(String provider) {
// 当定位提供者不可用时调用
}
};
// 注册定位监听器
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
- ActivityのonDestroy()メソッドで位置情報リスナーの登録を解除する。
locationManager.removeUpdates(locationListener);
- AndroidManifest.xmlファイルに以下のパーミッションを追加してください。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
GPSとNetworkを使用して位置情報を取得できます。位置が変更されると、位置リスナーのonLocationChanged()メソッドが呼ばれ、メソッド内で位置情報を処理できます。