私は融合ロケーションプロバイダを使用してアプリケーションを開発しています。私は疑問を持っています。一定間隔で位置を取得するために、requestLocationUpdates()を使用します。しかし、どのソースからWIFIかGPSかネットワークのいずれかに位置情報を取得できます。私のアプリでは、Wi-Fiがオンの場合にのみ一定間隔で位置情報を取得します。 WiFiがオフの状態では、GPSやネットワークのいずれかの他のソースから位置情報を取得するはずですが、GPSやネットワークのリスナーを作成する必要があります。私は何が問題なのか分からない。誰でも助けてくれますか?Androidの融合ロケーションプロバイダ
また、すべてのプロバイダ(Wi-Fi、GPS、ネットワーク)が利用可能な場合のみ動作するかどうかは関係ありません。
public void checkPlay(){
int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (resp == ConnectionResult.SUCCESS) {
locationClient = new LocationClient(this, this, this);
locationClient.connect();
} else {
Toast.makeText(this, "Google Play Service Error " + resp,
Toast.LENGTH_LONG).show();
}
}
public void onConnected(Bundle arg0) {
// TODO Auto-generated method stub
if (locationClient != null && locationClient.isConnected()) {
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(100);
locationClient.requestLocationUpdates(locationRequest, this);
}
}
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
try {
if (location != null) {
lat = location.getLatitude();
long = location.getLongitude();
}
} catch (Exception e) {
Log.d(Fots.TAG,
"GpsTrackService.mGpsLocationListener.onLocationChanged", e);
}
}
これはおそらく参考になりますhttp://wptrafficanalyzer.in/blog/gps-and-google-map-in-android-applications-series/ – Aravin
位置情報の更新をテストするにはどうすればよいですか? –
twntee ..私はサービス内でonLocationChanged()を書きます。私がアプリにログインすると、サービスは開始され、1分ごとにサービスが実行され、「locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);」を使用して5秒ごとに位置の更新が取得されます – Raja45