正在开发一个应用程序,以使用CMMotionActivity获得用户活动。一切正常。我还可以通过以下方法获得用户活动。
CMMotionActivityManager *activityManager = [[CMMotionActivityManager alloc] init];
[activityManager startActivityUpdatesToQueue:[[NSOperationQueue alloc] init] withHandler:
^(CMMotionActivity *activity) {
dispatch_async(dispatch_get_main_queue(), ^{
});
}
];
但是问题是,当我调用以下方法时
[activityManager stopActivityUpdates];
它不会停止检测用户活动。它仍然在工作。你能告诉我为什么会发生吗?
更新的问题
我通过调用以下方法来调用开始活动更新。
-(void)StartUserActivityUpdates
{
if ([CMMotionActivityManager isActivityAvailable]) {
activityManager = [[CMMotionActivityManager alloc] init];
[activityManager startActivityUpdatesToQueue:[[NSOperationQueue alloc] init]
withHandler:
^(CMMotionActivity *activity) {
dispatch_async(dispatch_get_main_queue(), ^{
});
}];
}}
我通过调用以下方法停止活动更新。
-(void)StopActivityUpdates
{
activityManager = [[CMMotionActivityManager alloc] init];
[activityManager stopActivityUpdates];
}