CMMotionActivityManager startActivityUpdates在调用stopActivityUpdates()

时间:2018-07-02 12:37:19

标签: ios objective-c core-motion

正在开发一个应用程序,以使用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];
 }

0 个答案:

没有答案