2015-11-06 2 views
-3

Я создаю приложение для добавления и удаления предупреждений о близости. Предупреждение о близости работает нормально. Он уведомляет меня, когда я приближаюсь к координатам. Но я не могу удалить их, когда я их не хочу. Вот код, который я использовал для добавления и удаления proximity alerts.Предупреждения о близости не удаляются

Когда я останавливаю и читаю их, количество предупреждений увеличивается на один, чем предыдущий счетчик.

Добавление Proximity Alerts

private void add_lert() { 
    locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, this); 
    String proximitys="com.realtech.proxtest"; 
    Intent i=new Intent(proximitys); 
    pi = PendingIntent.getBroadcast(MainActivity.this, 11, i, PendingIntent.FLAG_CANCEL_CURRENT); 
    locationManager.addProximityAlert(lat, lng, radius, -1, pi); 
    IntentFilter filter=new IntentFilter(proximitys); 
    registerReceiver(new ProxReceiver(),filter); 
} 

Удаление оповещения

private void remove_alert() { 
    LocationManager locationManager1=(LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    String proximitys="com.realtech.proxtest"; 
    Intent i=new Intent(proximitys); 
    PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 11, i, PendingIntent.FLAG_CANCEL_CURRENT); 
    locationManager1.removeProximityAlert(pi); 
} 

ответ

0

Вы пробовали использовать глобальные переменные для PendingIntent вместо объявить новый внутри каждого блока (добавить/удалить).

Также в менеджере location есть другое имя в двух блоках. Попробуйте также использовать глобальную переменную.

+0

Пробовал глобальную переменную без везения. :( –

Смежные вопросы