Hussian Shaik
Hussian Shaik

Reputation: 2685

check the status of the app moving or stationary

i want track my app status, i.e app is moving or stationary, I am using this module for location https://github.com/mauron85/react-native-background-geolocation

for check the status of location i used this function

 BackgroundGeolocation.on('stationary', (stationaryLocation) => {
      console.log("stationaryLocation:"+JSON.stringify(stationaryLocation))
    });

but it is not showing any response when i am stationary, can any one give me suggestion that how to resolve this. Any help much appreciated.

Upvotes: 3

Views: 447

Answers (1)

Deepak Singh
Deepak Singh

Reputation: 251

Instead of using GeoLocation, you can use CMMotionActivityManager to track this.

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)

            })
        })
    }
}

Upvotes: 1

Related Questions