예제 #1
0
        void AskForPermission()
        {
            if (Build.VERSION.SdkInt >= BuildVersionCodes.M)
            {
                var intent = new Intent("android.settings.action.MANAGE_OVERLAY_PERMISSION");
                intent.SetData(Uri.Parse("package:" + PackageName.ToString()));

                StartActivityForResult(intent, ACTION_MANAGE_OVERLAY_PERMISSION_REQUEST_CODE);
            }
        }
예제 #2
0
        /// <summary>
        /// Gets the module assembly ref.
        /// </summary>
        /// <param name="moduleInfo">The module info</param>
        /// <returns>The module assembly ref</returns>
        /// <exception cref="System.ArgumentNullException">The <paramref name="moduleInfo" /> is <c>null</c>.</exception>
        private string GetModuleAssemblyRef(ModuleInfo moduleInfo)
        {
            // ReSharper disable once ImplicitlyCapturedClosure
            Argument.IsNotNull(() => moduleInfo);

            return(_assemblyRefCacheStorage.GetFromCacheOrFetch(moduleInfo, () =>
            {
                PackageName packageName = moduleInfo.GetPackageName();
                string directoryName = packageName.ToString().Replace(' ', '.');
                return string.Format(CultureInfo.InvariantCulture, RelativeUrlPattern, BaseUrl, directoryName, _frameworkNameIdentifier, moduleInfo.GetAssemblyName());
            }));
        }
예제 #3
0
        public UPackage GetPackage()
        {
            if (PackageName == FName.None)
            {
                return(null);
            }

            UPackage package = UObject.FindPackage(null, PackageName.ToString());

            if (package != null)
            {
                package.FullyLoad();
            }
            else
            {
                package = UObject.LoadPackage(null, PackageName.ToString(), ELoadFlags.None);
            }
            return(package);
        }
예제 #4
0
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App(new AndroidInitializer()));

            // Init the carousel view renderer
            CarouselViewRenderer.Init();

            // Init the animation view renderer
            AnimationViewRenderer.Init();

            // Check permissions for bluetooth or location
            CheckPermissions();

            DependencyService.Register <IMeasure, MeasureService>();
            DependencyService.Register <IFloatingWidgetService, MeasureWidgetService>();

            // Init the background service
            var measureService = new Intent(this, typeof(MeasureService));

            StopService(measureService);
            StartService(measureService);

            serviceWidget = new Intent(this, typeof(MeasureWidgetService));
            StopService(serviceWidget);

            DependencyService.Get <IFloatingWidgetService>().IsWidgetEnabled += ((sender, _) =>
            {
                if (!Settings.CanDrawOverlays(this))
                {
                    Intent intent = new Intent(Settings.ActionManageOverlayPermission,
                                               Uri.Parse("package:" + PackageName.ToString()));
                    StartActivityForResult(intent, PERMISSION_ACTION_MANAGE_OVERLAY_REQUEST_CODE);
                }
            });
        }