예제 #1
0
        public override async Task <AccessState> RequestAccess()
        {
            if (!AppleExtensions.HasBackgroundMode("fetch"))
            {
                return(AccessState.NotSetup);
            }

            // this always has to be set at least once
            await this.platform.SetBackgroundFetchInterval(BackgroundFetchInterval);

            var grantResult = await this.platform.GetBackgroundRefreshStatus();

            return(grantResult);
        }
예제 #2
0
        public override Task <AccessState> RequestAccess()
        {
            var result = AccessState.Available;

            if (!UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
            {
                result = AccessState.NotSupported;
            }

            else if (Runtime.Arch == Arch.SIMULATOR)
            {
                result = AccessState.NotSupported;
            }

            else if (!AppleExtensions.HasBackgroundMode("processing"))
            {
                result = AccessState.NotSetup;
            }

            return(Task.FromResult(result));
        }