退出申请后如何停止活动识别?

时间:2014-12-11 15:30:40

标签: android android-activity tracking quit activity-recognition

我正在开发用户活动跟踪应用程序。即使应用程序是后台或退出,我也需要跟踪用户活动。

我已启动用户活动跟踪并退出应用。在一段时间后,我想停止用户活动跟踪。现在该应用程序没有任何实例。我没有任何实例可以停止用户活动跟踪。

从我最近的应用程序中删除应用程序后清除所有静态引用。 一切正常。但我不知道如何在应用程序退出后停止用户活动跟踪一段时间。

/**
 * 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());

}

我想知道当我在后台时如何阻止这个。因为一旦应用程序退出,我没有任何实例来阻止它。

请帮我解决这个问题。提前致谢。

1 个答案:

答案 0 :(得分: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);
}