Как правильно использовать addProximityAlert в google maps?

Здраствуйте! Расскажите как правильно использовать addProximityAlert в google maps ??? Ато третий день бьюсь и не понимаю, то работает, то нет....И главное информация вся в интернете 6-8 ми летней давности...

Метод addProximityAlert надо привязывать на метки или на свою геолокацию??

Может есть альтернатива этой функции?

делаю так:

в onCreate ложу:

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

отравляю в BroadcastReceiver функцию:

    private void addProximityAlert(final double latitude, final double longitude) {
            Intent intent = new Intent("com.qwe.qwe");
            PendingIntent proximityIntent = PendingIntent.getBroadcast(MyService.this, 0, intent, 0);
            if (ActivityCompat.checkSelfPermission(MyService.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MyService.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                return;
            }
            lm.addProximityAlert(latitude, longitude, 50, -1, proximityIntent);
            IntentFilter filter = new IntentFilter("com.qwe.qwe");
            this.registerReceiver(new ProximityIntentReceiver(), filter);
}

а в BroadcastReceiver ее принимаю:

public class ProximityIntentReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    String key = LocationManager.KEY_PROXIMITY_ENTERING;

    Boolean entering = intent.getBooleanExtra(key, false);

    if (entering) {
        Log.d("gauntface", "entering");
        Toast.makeText(context,"entering", Toast.LENGTH_SHORT).show();
    }
    else {
        Log.d("gauntface", "exiting");
        Toast.makeText(context,"exiting",Toast.LENGTH_SHORT).show();
    }
}

}

в манифест добавил пермишшаны:

ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION

кароче работает 50 на 50! в чем я неправ?


Ответы (0 шт):