это мой самый первый вопрос:
Я пытаюсь настроить оповещения о сближении, которые будут поступать от поставщика базы данных и веб-сервиса;но у меня проблема с настройкой простого оповещения о близости для тестирования.Мне удается создать оповещение, но оно никогда не срабатывает, я пока пытаюсь только в эмуляторе и не знаю, нужен ли мне дополнительный код для запуска оповещений.
Я где-то читал, что провайдер GPS отключен, так что провайдер сети может использоваться для запуска предупреждений на эмуляторе.
Мой код выглядит так:
Объявление намерения сближения
private String proximityIntentAction = new String("gpsdelivery.gpship.getLocation.GPS_PROXIMITY_ALERT");
Внутри onStart (), где установлены параметры оповещений
IntentFilter intentFilter = new IntentFilter(proximityIntentAction);
registerReceiver(new ProximityAlert(), intentFilter);
setProximityAlert(45.150344, 9.999815, -1);
Функция оповещения о сближении, в которой создаются оповещения
private void setProximityAlert(double lat, double lon, int requestCode)
{
// 100 meter radius
float radius = 100f;
// Expiration is 10 Minutes
long expiration = 600000;
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Intent intent = new Intent(proximityIntentAction);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT);
locManager.addProximityAlert(lat, lon, radius, expiration, pendingIntent);
}
И, наконец, мой класс оповещения о близости с приемником Broadcast
public class ProximityAlert extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Log.v("SomeTag","Proximity alert received");
}
}
Пожалуйста, дайте мне знать, что мне не хватает или что я делаю не так.Заранее спасибо, любой исходный код будет оценен.