private async void OnClickRequestActivityTransition(object sender, EventArgs eventArgs) { string Tag = "CreateActivityConversionUpdates"; List <ActivityConversionInfo> transitions = GetTransitions(); LocationBroadcastReceiver.AddConversionListener(); pendingIntent = GetPendingIntent(); ActivityConversionRequest activityTransitionRequest = new ActivityConversionRequest(transitions); var task = activityIdentificationService.CreateActivityConversionUpdatesAsync(activityTransitionRequest, pendingIntent); try { await task; if (task.IsCompleted) { log.Info(Tag, $"CreateActivityConversionUpdates succeeded."); } else { log.Error(Tag, $"CreateActivityConversionUpdates failed: {task.Exception.Message}"); } } catch (Exception e) { if (e is ApiException apiException) { if (apiException.StatusCode == 10803) { //PermissionDenied Utils.RequestActivityTransitionPermission(this); } } log.Error(Tag, $"CreateActivityConversionUpdates exception: {e.Message}"); } }
public void CheckStill() { if (activityIdentificationService == null) { activityIdentificationService = ActivityIdentification.getService(new Context()); } if (pendingIntent != null) { removeActivityTransitionUpdates(); } LocationBroadcast.SetListenActivityConversionEnabled(true); try { List transitions = new List(); activityTransition.setActivityType(103); activityTransition.setConversionType(0); transitions.add(activityTransition.build().obj); activityTransition.setActivityType(103); activityTransition.setConversionType(1); transitions.add(activityTransition.build().obj); pendingIntent = getPendingIntent(); activityTransitionRequest = new ActivityConversionRequest(transitions); Task task = activityIdentificationService.createActivityConversionUpdates(activityTransitionRequest, pendingIntent); task.addOnSuccessListener(new LocationSuccessListener((o) => { TestTip.Inst.ShowText("createActivityConversionUpdates onSuccess"); })).addOnFailureListener(new HmsFailureListener((o) => { TestTip.Inst.ShowText("createActivityConversionUpdates exception"); })); } catch (System.Exception e) { TestTip.Inst.ShowText("createActivityConversionUpdates exception:" + e.StackTrace); } }
private void RequestActivityConversion() { if (pendingIntent != null) { RemoveActivityConversionRequest(); } pendingIntent = CreatePendingIntent(); var infoList = new List <ActivityConversionInfo>(); foreach (var item in Utility.AllActivities) { infoList.Add(new ActivityConversionInfo(item, 1)); infoList.Add(new ActivityConversionInfo(item, 0)); } ActivityConversionRequest request = new ActivityConversionRequest(infoList); Task activityIdTask = identificationService.CreateActivityConversionUpdates(request, pendingIntent); activityIdTask.AddOnSuccessListener(new RequestActivityConversionSuccessListener(this)); activityIdTask.AddOnFailureListener(new RequestActivityConversionFailListener(this)); }