protected override async Task OnReceiveAsync(Context?context, Intent?intent) { if (ActivityRecognitionResult.HasResult(intent) && Process != null) { var result = ActivityRecognitionResult.ExtractResult(intent); await Process(result); } }
protected override void OnHandleIntent(Intent intent) { UpdateMinConfidence(); if (ActivityRecognitionResult.HasResult(intent)) { HandleActivityRecognitionResult(intent); } }
public override void OnReceive(Context context, Intent intent) => this.Execute(async() => { // DELETE FROM motion_activity WHERE Timestamp < DateTimeOffset.UtcNow.AddDays(-30).Ticks if (!ActivityRecognitionResult.HasResult(intent)) { return; } var result = ActivityRecognitionResult.ExtractResult(intent); var type = MotionActivityType.Unknown; foreach (var activity in result.ProbableActivities) { switch (activity.Type) { case DetectedActivity.InVehicle: type |= MotionActivityType.Automotive; break; case DetectedActivity.OnBicycle: type |= MotionActivityType.Cycling; break; case DetectedActivity.OnFoot: type |= MotionActivityType.Walking; break; case DetectedActivity.Running: type |= MotionActivityType.Running; break; case DetectedActivity.Still: type |= MotionActivityType.Stationary; break; case DetectedActivity.Walking: type |= MotionActivityType.Walking; break; } } var confidence = this.ToConfidence(result.MostProbableActivity.Confidence); var timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); await this.database.ExecuteNonQuery( $"INSERT INTO motion_activity(Event, Confidence, Timestamp) VALUES ({(int)type}, {(int)confidence}, {timestamp})" ); this.messageBus.Publish(new MotionActivityEvent(type, confidence, DateTimeOffset.UtcNow)); });
bool OnHandleIntent(Intent intent) { if (intent != null) { if (intent.Action == FinishTripAction) { FinishTrip(); } else if (ActivityRecognitionResult.HasResult(intent)) { HandleActivityRecognition(intent); } else if (intent.HasExtra(FusedLocationProviderApi.KeyLocationChanged)) { HandleLocationUpdate(intent); } } return(currentBikingState != BikingState.NotBiking); }
public override void OnReceive(Context context, Intent intent) { base.OnReceive(Application.Context, intent); if (ActivityRecognitionResult.HasResult(intent)) { ActivityRecognitionResult result = ActivityRecognitionResult.ExtractResult(intent); if (result != null) { var motion = result.MostProbableActivity.GetMotionType(); if (motion != Core.Models.MotionType.Unknown) { Mvx.Resolve <IMotionActivity>().MotionType = motion; } //new Handler(context.MainLooper).Post(() => //{ // Toast.MakeText(context, motion.ToString(), ToastLength.Short).Show(); //}); } } }