Oka*_*neş 0 ios core-motion swift
我想在应用程序暂停(而不是停止)时检测运动活动。我使用了这段代码,如果用户使用应用程序,它就可以工作:
let isActivityAvailable = CMMotionActivityManager.isActivityAvailable()
if isActivityAvailable {
CMMotionActivityManager().startActivityUpdates(to: OperationQueue.main) { (motionActivity) in
if (motionActivity!.confidence.rawValue > 0) {
if (motionActivity?.walking)! {
print("User is walking")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序可以处于多种状态:
只有前 2 个状态才会收到运动更新。引用文档:
...当您的应用程序暂停时,不会提供更新。
当用户换出应用程序或锁定手机时,应用程序仅会处于状态 2(在后台运行)几秒钟,除非您要求后台时间。除了音乐播放器和路线导航应用程序等一小部分应用程序类型外,后台时间仅限于较短的间隔(3 分钟?)。
由于这些原因,简短的答案是否定的,当您的应用程序“暂停”时,您无法接收动作更新,因为暂停变为暂停。
对于您自己的使用(或者可能是内部企业使用),您可以将应用程序设置为音乐播放器并让它不断接收运动更新,但这样的应用程序将在应用程序商店审核中被拒绝。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |