Контекст: как я могу создать какой-то механизм Timer/AlarmManger, который позволяет LocationClient подключаться в течение двух минут перед опросом местоположения. Ниже я вставил свою попытку задержки на две минуты перед опросом местоположения, но, похоже, она не работает в спящем режиме.
Возможные решения: я мог бы использовать AlarmManager. Однако это заставит меня создать ВТОРОЙ сервис, а затем очень усложнит обращение к одному LocationClient. Я также мог бы следовать подходу этого человека (Использование Google Play Services LocationClient в фоновой службе), где в методе onConnected он выполняет опрос местоположения.
Я хотел бы получить любые рекомендации относительно того, что я должен изучить
В моем методе onStartCommand...
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
//Getting and Posting Location
Log.i("localwordservice", "Creating and Connecting mLocationClient");
mLocationClient = new LocationClient(this, this, this);
mLocationClient.connect();
Timer theTimer = new Timer();
theTimer.schedule(new TimerTask() {
@Override
public void run() {
if(checkIfGooglePlay()) {
System.out.println("TIMER is now iniating post location");
getPostLocation();
System.out.println("wake lock being released!");
wl.release();
System.out.println("The Service is being stopped!");
stopSelf();
}
}
}, TWO_MINUTES);