Google Location API: запрашивать обновления местоположения с ожидающим намерением?

Я начал реализовывать Google Location API, используя это руководство.

Мне удалось заставить его работать в моем приложении довольно хорошо, оно обновляет мое местоположение с нужными интервалами и т. Д. Теперь я работаю над тем, как обновить мое местоположение, когда устройство находится в спящем режиме. Согласно документации, этот метод является следующим способом:

public void requestLocationUpdates (LocationRequest request, PendingIntent callbackIntent);

У меня вопрос, как мне настроить PendingIntent и как мне с ним справиться? Я видел учебники о том, как обращаться с другими типами намерений, но я не уверен, как применить их к этому.

1 ответ

Решение

Вы можете зарегистрировать Broardcast Reciever или Activity через ожидающее намерение. Пример примера для регистрации Boardcast Reciever:

    String proximitys = "ACTION";
    IntentFilter filter = new IntentFilter(proximitys);
    registerReceiver(mybroadcast, filter);
    Intent intent = new Intent(proximitys);
    PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0,
            intent, PendingIntent.FLAG_CANCEL_CURRENT);
    locationManager.requestLocationUpdates(provider, mintime, mindistance,
            proximityIntent);

Ваш Broardcast Reciever:

public class ProximityIntentReceiver extends BroadcastReceiver {

    @SuppressWarnings("deprecation")
    @Override
    public void onReceive(Context arg0, Intent intent) {
           //action to be performed
    }
Другие вопросы по тегам