ios - CMMotionActivityManager startActivityUpdates 保持在调用 stopActivityUpdates() 后检测用户活动
问题描述
我正在开发一个应用程序来使用 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];
}
解决方案
推荐阅读
- android - kotlin Android sortwith数组问题
- git - 将 GIT Post Commit 钩子添加到 JBoss BPM 6.4
- c# - 将枚举绑定到复选框
- bash - awk 从多个变量而不是文件中读取
- json - CloudFormation 存储桶策略 - 缺少必填字段“效果”
- ffmpeg - 将gif转换为mp4时需要什么过滤器
- c# - 我在 var sse12 处遇到错误;像隐式本地类型变量必须初始化
- java - AsyncTask 当服务器数据改变时
- amazon-web-services - 为什么不能在 aws iam 上为 datadog 创建主体?
- python - 为列表中的值创建重复的数据框行?[Python]