LocationManager.KEY_PROXIMITY_ENTERING недоступен для оповещений о близости? - PullRequest
1 голос
/ 28 июня 2011

После регистрации оповещения о близости для заданного набора координат через

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Intent intent = new Intent(Constants.ACTION_PROXIMITY_ALERT);
intent.putExtra(Constants.INTENT_EXTRA_LOCATION, location); // custom payload
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0);

locationManager.addProximityAlert(location.getLatitude(),
    location.getLongitude(), location.getRadius(), -1, pendingIntent);

я получаю намерения, доставленные в мою службу при входе или выходе из настроенного местоположения.Пока все хорошо.

К сожалению, ни одно из этих доставленных намерений не имеет логического дополнительного LocationManager.KEY_PROXIMITY_ENTERING, который определяет тип изменения местоположения (вход или выход), который можно получить с помощью Intent.getBooleanExtra.Мои наблюдения основаны на AOSP 2.1 и AOSP 2.2.В соответствии с документацией , этот дополнительный должен всегда присутствовать.

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

1 Ответ

5 голосов
/ 29 июня 2011

Как оказалось, это вызвано добавлением дополнительного сериализуемого дополнения в PendingIntent.Как обходной путь, выполните сериализацию самостоятельно или просто сохраните примитивные типы или строки, если требуется дополнительная полезная нагрузка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...