我希望跟踪我的应用状态,即app正在移动或静止,我正在使用此模块进行定位 https://github.com/mauron85/react-native-background-geolocation
用于检查我使用此功能的位置状态
BackgroundGeolocation.on('stationary', (stationaryLocation) => {
console.log("stationaryLocation:"+JSON.stringify(stationaryLocation))
});
但是当我静止时它没有显示任何反应,任何人都可以给我建议如何解决这个问题。 任何帮助非常感谢。
答案 0 :(得分:1)
您可以使用CMMotionActivityManager来跟踪此情况,而不是使用GeoLocation。
public func getCurrentActivity(onRun:@escaping(_ activity:String?) - > Void){
if(CMMotionActivityManager.isActivityAvailable()){
let mainQ = OperationQueue.main
self.activityManager?.startActivityUpdates(to: mainQ, withHandler: { (data: CMMotionActivity!) -> Void in
DispatchQueue.main.async(execute: {
var action = ""
if(data.stationary == true){
action = "Stationary"
} else if (data.walking == true){
action = "Walking"
} else if (data.running == true){
action = "Running"
} else if (data.automotive == true){
action = "Automotive"
} else if (data.cycling == true){
action = "cycling"
} else {
action = "Stationary"
}
onRun(action)
})
})
}
}