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

}

バックグラウンドでこれを停止する方法を知りたいです。アプリが終了すると、それを停止するインスタンスがないためです。

これについて私を助けてください。前もって感謝します。

4

1 に答える 1

0

アクティビティ認識の更新を停止するには、更新のリクエストに使用したのと同じパターンを使用しますが、requestActivityUpdates() の代わりに removeActivityUpdates() を呼び出します。ここからこれを取った:リンク

このメソッドを同じクラスに実装し、更新を削除するたびにこれを呼び出します。

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);
}
于 2014-12-18T12:41:20.280 に答える