1

Я работаю над приложением отслеживания активности пользователей. Мне нужно отслеживать активность пользователя, даже если приложение является фоном или завершает работу.Как остановить распознавание активности после выхода из приложения?

Я начал отслеживание активности пользователя и покинул приложение. Через некоторое время я хочу остановить отслеживание активности пользователя. Теперь у приложения нет экземпляра. У меня нет экземпляра, чтобы остановить отслеживание активности пользователя.

После удаления приложения из моего последнего приложения все статические ссылки очищаются. Все работает нормально. Но я не знаю Как остановить отслеживание активности пользователя некоторое время после закрытия приложения.

/** 
* Make the actual update request. This is called from onConnected(). 
*/ 
private void continueRequestActivityUpdates() { 
    /* 
    * Request updates, using the default detection interval. The 
    * PendingIntent sends updates to ActivityRecognitionIntentService 
    */ 
    getActivityRecognitionClient().requestActivityUpdates(
      Constants.DETECTION_INTERVAL_MILLISECONDS, 
      createRequestPendingIntent()); 

} 

Я хочу знать, как остановить это, когда я был в фоновом режиме. Потому что, как только приложение закрывается, у меня нет экземпляра, чтобы остановить его.

Пожалуйста, помогите мне в этом. Заранее спасибо.

+0

Как вы отслеживать активность пользователей? Поделитесь некоторым кодом. вы используете какой-либо сервис? –

+0

@SweetWisher シ Я добавил код ... Пожалуйста, проверьте сейчас. –

ответ

0

Чтобы остановить обновления распознавания активности, используйте тот же шаблон, который использовался для запроса обновлений, но вызывайте removeActivityUpdates() вместо requestActivityUpdates(). Принял это отсюда: link

Реализация этого метода в том же классе, и называет это всякий раз, когда вы хотите удалить обновление:

private void removeActivityUpdates() { 
    mActivityRecognitionClient = new ActivityRecognitionClient(mContext, this, this); 

    Intent intent = new Intent(mContext, ActivityRecognitionIntentService.class); 

    mActivityRecognitionPendingIntent = PendingIntent.getService(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    mActivityRecognitionClient.removeActivityUpdates(mActivityRecognitionPendingIntent); 
} 
+0

Когда приложение закрывается, у меня нет экземпляра \t private UserActivityDetectionRemover mUserActivityDetectionRemover; Это может быть null. Так что я не могу назвать remove. Когда приложение открыто, я смог правильно удалить его. –

+0

Но почему бы вам не назвать это из onDestroy? Поэтому, прежде чем ваше приложение будет уничтожено, обновления будут удалены. – abhinav

+0

Мое требование - я хочу отслеживать активность пользователя, даже если приложение не работает. Он по-прежнему продолжает работать даже тогда, когда приложение завершает работу. –

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

  • Нет связанных вопросов^_^