React native 检查应用程序移动或静止的状态

React native 检查应用程序移动或静止的状态,react-native,react-native-android,react-native-ios,React Native,React Native Android,React Native Ios,我想跟踪我的应用程序状态,即应用程序正在移动或静止,我正在使用此模块进行定位 为了检查位置的状态,我使用了此功能 BackgroundGeolocation.on('stationary', (stationaryLocation) => { console.log("stationaryLocation:"+JSON.stringify(stationaryLocation)) }); 但当我静止不动时,它并没有表现出任何反应,有人能给我建议如何解决这个问题吗。

我想跟踪我的应用程序状态,即应用程序正在移动或静止,我正在使用此模块进行定位

为了检查位置的状态,我使用了此功能

 BackgroundGeolocation.on('stationary', (stationaryLocation) => {
      console.log("stationaryLocation:"+JSON.stringify(stationaryLocation))
    });
但当我静止不动时,它并没有表现出任何反应,有人能给我建议如何解决这个问题吗。
非常感谢您的帮助。

您可以使用CMMotionActivityManager来跟踪这一点,而不是使用地理位置

公共函数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)

            })
        })
    }
}