Android Proximity alert не срабатывает - PullRequest
1 голос
/ 06 октября 2010

это мой самый первый вопрос:

Я пытаюсь настроить оповещения о сближении, которые будут поступать от поставщика базы данных и веб-сервиса;но у меня проблема с настройкой простого оповещения о близости для тестирования.Мне удается создать оповещение, но оно никогда не срабатывает, я пока пытаюсь только в эмуляторе и не знаю, нужен ли мне дополнительный код для запуска оповещений.

Я где-то читал, что провайдер 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");

        }

    }       

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

1 Ответ

0 голосов
/ 21 июля 2015

Ну, я считаю, что ваш setProximityAlert(45.150344, 9.999815, -1); неверен.Конкретно твой -1.Он не содержит информацию, необходимую в locManager.addProximityAlert(lat, lon, radius, expiration, pendingIntent);.

...