件名が言うように、私は Android 開発者ガイドを見てきましたが、実際には答えが見つかりません。エリアに入ったときだけ知りたい場合、近接アラートには位置リスナーが必要ですか? 次のように近接アラートを設定しています。
private void addProximityAlert(double latitude, double longitude) {
Intent intent = new Intent(PROX_ALERT_INTENT);
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0,
intent, 0);
locationManager.addProximityAlert(latitude, longitude, POINT_RADIUS,
PROX_ALERT_EXPIRATION, proximityIntent);
IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT);
proxalert = new ProximityIntentReceiver();
registerReceiver(proxalert, filter);
}
これは、次のように呼び出されます。
addProximityAlert(SMASH_LAT, SMASH_LNG);
質問ですが、次のものが必要ですか?
locationManager.requestLocationUpdates(
// check every 10 minutes
low.getName(), MINIMUM_TIME_BETWEEN_UPDATE,
MINIMUM_DISTANCECHANGE_FOR_UPDATE, new MyLocationListener());
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
Location pointLocation = retrievelocation();
float distance = location.distanceTo(pointLocation);
// txted.setText("Distance: " + distance);
}
@Override
public void onStatusChanged(String s, int i, Bundle b) {
}
@Override
public void onProviderDisabled(String s) {
// try switching to a different provider
}
@Override
public void onProviderEnabled(String s) {
// try switching to a different provider
}
}
それとも、locationmanager は既にネットワーク/GPS からの位置情報の更新を処理しており、近接エリアにいることを認識していますか?