Пример #1
0
        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}");
            }
        }
Пример #2
0
        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));
        }