2016-09-06 7 views
-2

У меня возникла проблема с удалением предупреждения о близости, и для теста я пытаюсь добавить ProximityAlert и немедленно удалить его. У меня есть эта функция:Удаление предупреждений о близости не работает

public void addproximity(View v) { 
    SharedPreferences sharedPref = getSharedPreferences("proximityService", Context.MODE_PRIVATE); 

    int unique_id = sharedPref.getInt("PENDING_ID", 0); 
    unique_id = unique_id+1; 

    SharedPreferences.Editor editor = sharedPref.edit(); 
    editor.putInt("PENDING_ID", unique_id); 
    editor.commit(); 
    Intent intentNew = new Intent(PROX_ALERT_INTENT); 

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

    double latitude = 43.9297615; 
    double longitude = 10.2035046; 
    PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), unique_id, intentNew, 0); 
    lm.addProximityAlert(latitude, longitude, 200, -1, pi); 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
     return; 
    } 
    IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT); 
    mHandleMessageReceiver = new ProximityAlertReceiver(); 
    registerReceiver(mHandleMessageReceiver, filter); 


    lm.removeProximityAlert(pi); 

} 

Но я тестировал с поддельной GPS, и близость не удаляется, а также трансляции по-прежнему получать события. что я не так?

+0

Но почему? вы можете мне объяснить? – LorenzoBerti

ответ

1

в addProximityAlert() метод, в котором вы проходите -1 в качестве значения срока годности, что означает, что срок действия вашего геотерпения не истечет (Geofence.NEVER_EXPIRE). Вот почему геофранция не удаляется. Измените этот флаг и повторите попытку.

+0

привет, Jinesh, thankyou, да, я прошел -1, потому что хочу, чтобы близость не истекла после времени, но я хочу удалить его вручную. – LorenzoBerti

+0

call lm.removeUpdates (pi) также. –

+0

моя проблема более сложная, вы можете присоединиться к чату? https://chat.stackoverflow.com/rooms/122743/proximity-alert-doesnt-work – LorenzoBerti

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

  • Нет связанных вопросов^_^