2015-04-10 3 views
3

В настоящее время я пишу приложение, использующее API распознавания активности Google, однако в моем методе onHandleIntent, когда я поставил точку останова там, чтобы проверить намерение, переданное из службы, оно показывает мне устаревшие данные. Активность возвращается как STILL, хотя я нахожусь в дороге и даже на автостраде. [FYI Я не вождение, а в движущемся автомобиле :)], все равно, чтобы сбросить результаты? даже когда я отсоединяюсь и снова подключаюсь, я все еще получаю это STILL-чтение.Activity Recognition return stale activity

+0

Вы могли решить это, так как кажется, что у меня такая же проблема без решения. –

+0

То, что я заметил, почему-то мои службы определения местоположения становятся отключенными. Когда это происходит, чтение STILL имеет смысл. В настоящее время я изучаю работу, которая будет предупреждать пользователя о том, что местоположение отключено, и я также пытаюсь контролировать, если когда данные устареют, что на самом деле службы определения местоположения отключены – JenniferG

+0

Спасибо, я попробую –

ответ

0

Мне показалось, что я поделюсь этим на случай, что это частичное решение проблемы, которую я описал в своем вопросе. Я изменил свой код, и, похоже, на данный момент у него нет этой проблемы. То, что я делаю, к намерению, передаваемому распознаванию активности, дает ему динамический идентификатор, моя теория заключается в том, что если я отключусь и снова подключу его, то получит тот же код, возможно, будет кэшировать устаревшее состояние. Теперь с моим динамическим идентификатором, который действительно не должен ничего болеть b/c, идентификатор изменяется только после того, как вызывается удаление обновлений, я надеюсь, что это предотвратит состояние кеширования.

private static void intentID(){ 
    if(intentID == 0) 
     intentID = (int)(System.currentTimeMillis()); 
    return intentID; 
} 

PendingIntent pendingIntent = PendingIntent.getService(mContext, intentID(), intent, PendingIntent.FLAG_UPDATE_CURRENT); 

//the modified pendingIntent being used 
ActivityRecognition.ActivityRecognitionApi.requestActivityUpdates(getActivityRecognitionClient(), 1000*10, pendingIntent) 

надеюсь, что это поможет!

Смежные вопросы