2012-02-23 2 views
0

Я могу установить оповещение о близости (т. Е. Генерирует уведомление, когда телефон входит/выходит из указанного радиуса), который работает так, как я хочу, только когда у меня все еще есть приложение вверх. Когда я нажимаю на дом, условия выхода/входа радиуса, которые обычно запускают предупреждение, не приводят к уведомлению.Android ProximityAlert не остается активным после выхода из приложения (например, нажатие домашней кнопки)

Я уверен, что это как-то связано с регистрацией и отмена регистрации приемников, но я не могу понять это. Когда я не включаю вызов unregisterReceiver и нажимаю на него, появляется ошибка утечки приемника. Когда я включаю его в onPause() и нажимаю на дом, я не получаю никаких ошибок, но предупреждение не работает.

Есть ли что-то, что я не понимаю об этих предупреждениях о близости? Каков наилучший способ, чтобы приложение реагировало на близость по своему желанию?

ответ

0

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

0

Зарегистрируйте свой BroadcastReceiver в файле манифеста. Он автоматически регистрирует и отменяет регистрацию.

<receiver android:name="ProximityIntentReceiver"> 
    <intent-filter> 
     <action android:name="com.example.googlemaps.PROXIMITY_ALERT"> 
    </intent-filter> 
</receiver> 

Он будет работать даже после нажатия кнопки дома.