Esempio n. 1
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);

            InitializePlugins(bundle);

            LoadApplication(new App());

            ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.AccessCoarseLocation }, 1);
        }
        //Needs this permission check to access the Phone Number calling. Otherwise it's always blank. (But can still get calling states even if denied)
        public void CheckCallReadPermission()
        {
            var AppContext = Application.Context;

            string[] NECESSARY_PERMISSIONS = new string[] { Manifest.Permission.ReadCallLog };

            if (ContextCompat.CheckSelfPermission(AppContext, Manifest.Permission.ReadCallLog) == Permission.Granted)
            {
                LaunchCallingServiceListener(); //Launches the Phone call Listening Service
            }
            else
            {
                ActivityCompat.RequestPermissions(mainActivity, NECESSARY_PERMISSIONS, Constants.PHONE_ACCESS_REQUEST_CODE);
            }
        }
Esempio n. 3
0
        protected override void OnStart()

        {
            base.OnStart();
            const string permission = Manifest.Permission.AccessFineLocation;

            if (ContextCompat.CheckSelfPermission(this, permission) != Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation }, 0);
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("Permission Granted");
            }
        }
Esempio n. 4
0
 private void OnCameraButtonClicked(object sender, EventArgs e)
 {
     if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) == (int)Permission.Granted)
     {
         Intent takePictureIntent = new Intent(MediaStore.ActionImageCapture);
         if (takePictureIntent.ResolveActivity(PackageManager) != null)
         {
             StartActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
         }
     }
     else
     {
         ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera }, REQUEST_IMAGE_CAPTURE);
     }
 }
Esempio n. 5
0
        private bool reqPerm()
        {
            if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) != (int)Permission.Granted)
            {
                System.Diagnostics.Debug.WriteLine("permission denied");
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.Camera }, REQUEST_CONTACTS);
            }
            if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessFineLocation) != (int)Permission.Granted)
            {
                System.Diagnostics.Debug.WriteLine("permission denied");
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessFineLocation }, REQUEST_CONTACTS);
            }

            return(true);
        }
Esempio n. 6
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

            if (ContextCompat.CheckSelfPermission(this, Manifest.Permission_group.Storage) != (int)Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage }, 2);
            }

            LoadApplication(new App());
        }
Esempio n. 7
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            try
            {
                base.OnCreate(savedInstanceState);
                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.activity_main);
                string dir_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
                string file_data_remember;

                btn_auth_form  = FindViewById <Button>(Resource.Id.btn_auth_form);
                btn_reg_form   = FindViewById <Button>(Resource.Id.btn_reg_form);
                btn_calculator = FindViewById <Button>(Resource.Id.btn_calculator);



                string[] permissions = { Manifest.Permission.AccessFineLocation, Manifest.Permission.WriteExternalStorage };
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.Camera }, MY_PERMISSIONS_REQUEST_CAMERA);
                Dexter.WithActivity(this).WithPermissions(permissions).WithListener(new CompositeMultiplePermissionsListener(new SamplePermissionListener(this))).Check();



                // Переход к форме регистрации.
                btn_reg_form.Click += (s, e) =>
                {
                    Intent registerActivity = new Intent(this, typeof(Auth.RegisterActivity));
                    StartActivity(registerActivity);
                };

                // Переход к форме авторизация

                btn_auth_form.Click += (s, e) =>
                {
                    Intent authActivity = new Intent(this, typeof(Auth.AuthActivity));
                    StartActivity(authActivity);
                };

                btn_calculator.Click += (s, e) =>
                {
                    Intent activityApplication = new Intent(this, typeof(Auth.ActivityApplication));
                    StartActivity(activityApplication);
                };
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, "" + ex.Message, ToastLength.Long).Show();
            }
        }
        private async Task GetPermissionAsync()
        {
            List <String> permissions = new List <String>();

            try
            {
                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessFineLocation) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.AccessFineLocation);
                }

                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.Camera);
                }

                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadExternalStorage) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.ReadExternalStorage);
                }

                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.WriteExternalStorage) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.WriteExternalStorage);
                }

                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.CallPhone) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.CallPhone);
                }

                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadPhoneState) == Permission.Denied)
                {
                    permissions.Add(Manifest.Permission.ReadPhoneState);
                }



                if (permissions.Count > 0)
                {
                    ActivityCompat.RequestPermissions(this, permissions.ToArray(), 100);
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine("Error", e.Message);
            }
        }
Esempio n. 9
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.UpdateProfilelayout);
            var requiredPermissions = new String[]
            {
                Manifest.Permission.Internet,
                Manifest.Permission.WriteExternalStorage,
                Manifest.Permission.ReadExternalStorage,
                Manifest.Permission.Camera,
                Manifest.Permission.ReadContacts
            };

            ActivityCompat.RequestPermissions(this, requiredPermissions, REQUEST_LOCATION);



            var toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);

            toolbar.TextAlignment = Android.Views.TextAlignment.Center;

            SetSupportActionBar(toolbar);
            SupportActionBar.SetTitle(Resource.String.UpdateProfile);
            _lstDataItem.Add(GetString(Resource.String.Dialog_TakefromCamera));
            _lstDataItem.Add(GetString(Resource.String.Dialog_SelectfromGallery));
            _lstDataItem.Add(GetString(Resource.String.AlrtDialogBuilder_itemCancel));
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            txtZipCode           = FindViewById <EditText>(Resource.Id.txtZipCode);
            txtCity              = FindViewById <EditText>(Resource.Id.txtCity);
            txtState             = FindViewById <EditText>(Resource.Id.txtState);
            txtCountry           = FindViewById <EditText>(Resource.Id.txtCountry);
            txtAboutMe           = FindViewById <EditText>(Resource.Id.txtAboutMe);
            profileChange        = (ImageView)FindViewById(Resource.Id.imgProfileImage);
            profileChange.Click += ProfileChange_Click;

            Drawable iconLocation = Resources.GetDrawable(Resource.Drawable.location24);
            Drawable iconAboutMe  = Resources.GetDrawable(Resource.Drawable.username24);

            txtZipCode.SetCompoundDrawablesWithIntrinsicBounds(iconLocation, null, null, null);
            txtCity.SetCompoundDrawablesWithIntrinsicBounds(iconLocation, null, null, null);
            txtState.SetCompoundDrawablesWithIntrinsicBounds(iconLocation, null, null, null);
            txtCountry.SetCompoundDrawablesWithIntrinsicBounds(iconLocation, null, null, null);
            txtAboutMe.SetCompoundDrawablesWithIntrinsicBounds(iconAboutMe, null, null, null);


            FillProfileData();
        }
Esempio n. 10
0
        void Run(IntPtr activityHandle)
        {
            if (running)
            {
                return;
            }
            running = true;

            Task.Run(() => {
                // If the app has a constructor that takes a string array, then
                // we'll use that, and pass the command line arguments into it on
                // creation
                Type appType = typeof(App);
                app          = appType.GetConstructor(new Type[] { typeof(string[]) }) != null
                                        ? (App)Activator.CreateInstance(appType, new object[] { new string[0] {
                                                                                                } })
                                        : (App)Activator.CreateInstance(appType);
                if (app == null)
                {
                    throw new System.Exception("StereoKit loader couldn't construct an instance of the App!");
                }

                // Initialize StereoKit, and the app
                SKSettings settings      = app.Settings;
                settings.androidActivity = activityHandle;
                settings.assetsFolder    = "";

                // For requesting permission to use the Microphone
                if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.RecordAudio) != Android.Content.PM.Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.RecordAudio }, 1);
                }

                if (!SK.Initialize(settings))
                {
                    return;
                }
                app.Init();

                // Now loop until finished, and then shut down
                while (SK.Step(app.Step))
                {
                }
                SK.Shutdown();

                Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
            });
        }
Esempio n. 11
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            RequestWindowFeature(Android.Views.WindowFeatures.NoTitle);
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);

            mLicenseValid = App.Instance().CheckLicense();
            if (!mLicenseValid)
            {
                return;
            }

            if (this.Intent != null && this.Intent.Action != null)
            {
                filter = Intent.Action;
            }

            if (Build.VERSION.SdkInt >= BuildVersionCodes.M)
            {
                Permission permission = ContextCompat.CheckSelfPermission(this.ApplicationContext, Manifest.Permission.WriteExternalStorage);
                if (permission != Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
                }
            }

            if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.N)
            {
                StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
                StrictMode.SetVmPolicy(builder.Build());
            }

            App.Instance().GetLocalModule(filter).SetAttachedActivity(this);
            App.Instance().CopyGuideFiles(App.Instance().GetLocalModule(filter));
            App.Instance().GetLocalModule(filter).SetFileItemEventListener(this);
            App.Instance().GetLocalModule(filter).SetCompareListener(this);

            View      view   = App.Instance().GetLocalModule(filter).GetContentView(this.ApplicationContext);
            ViewGroup parent = (ViewGroup)view.Parent;

            if (parent != null)
            {
                parent.RemoveView(view);
            }
            SetContentView(view);

            HandleIntent(this.Intent);
        }
Esempio n. 12
0
        void GetWritePermission(string msg)
        {
            try
            {
                if (string.IsNullOrEmpty(msg))
                {
                    msg = "App requires additional permissions to operate smoothly. Kindly click on ‘Allow’ in next screen to give permissions. App will not collect any personal data without your consent.";
                }
                System.Collections.Generic.List <string> listPermissionsNeeded = new System.Collections.Generic.List <string>();
                Permission result;
                foreach (string p in permissions)
                {
                    result = ActivityCompat.CheckSelfPermission(this, p);
                    if (result != (int)Permission.Granted)
                    {
                        listPermissionsNeeded.Add(p);
                    }
                }
                if ((int)Build.VERSION.SdkInt < 23 || listPermissionsNeeded.Count <= 0)
                {
                    RunSplash();
                }
                else
                {
                    AlertDialog.Builder alert = new AlertDialog.Builder(this);
                    alert.SetCancelable(false);
                    alert.SetMessage(msg);
                    alert.SetPositiveButton("Continue", (senderAlert, args) =>
                    {
                        ActivityCompat.RequestPermissions(this, listPermissionsNeeded.ToArray(), 100);
                    });
                    alert.SetNegativeButton("Exit", (senderAlert, args) =>
                    {
                        ExitApp();
                    });

                    RunOnUiThread(() =>
                    {
                        alert.Show();
                    });
                    // ActivityCompat.RequestPermissions(this, permissionStorage, 100);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("GetWritePermission:" + ex.ToString());
            }
        }
Esempio n. 13
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.welcome);
            R = new welcome(this);

            R.welcome_create_button.Click += (o, e) => {
                StartActivityForResult(typeof(CreateCloudActivity), CloudManagement);
            };
            R.welcome_join_button.Click += (o, e) => {
                StartActivityForResult(typeof(JoinCloudActivity), CloudManagement);
            };

            ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage }, RequestAccess);
        }
Esempio n. 14
0
        private void RequestMicPermission()
        {
            var currentActivity = MainActivity.Instance;

            if (ActivityCompat.ShouldShowRequestPermissionRationale(currentActivity, Manifest.Permission.RecordAudio))
            {
                Snackbar.Make(currentActivity.FindViewById((Android.Resource.Id.Content)), "App requires microphone permission.", Snackbar.LengthIndefinite).SetAction("Ok", v =>
                {
                    ((Activity)currentActivity).RequestPermissions(permissions, REQUEST_MIC);
                }).Show();
            }
            else
            {
                ActivityCompat.RequestPermissions(((Activity)currentActivity), permissions, REQUEST_MIC);
            }
        }
        public bool CheckPermission(string[] permissions, int requestCode)
        {
            var hasAllPermissions = true;

            foreach (string permission in permissions)
            {
                if (ContextCompat.CheckSelfPermission(this, permission) == Permission.Denied)
                {
                    hasAllPermissions = false;
                    ActivityCompat.RequestPermissions(this, permissions, requestCode);
                    break;
                }
            }

            return(hasAllPermissions);
        }
Esempio n. 16
0
        private void CheckPermissions()
        {
            Console.WriteLine("checking permission................");
            var thisActivity = Forms.Context as Activity;

            if (ContextCompat.CheckSelfPermission(thisActivity, Manifest.Permission.ReadExternalStorage) != Permission.Granted)
            {                                                                                                                 // Permission is not granted
                Console.WriteLine("per is not granted, requesting....................");
                ActivityCompat.RequestPermissions(thisActivity, new String[] { Manifest.Permission.ReadExternalStorage }, 1); //1 is just the code to retrive this permission
            }
            else
            {            //if permission is already granted
                Console.WriteLine("per already granted~~~~~~~~~~~~~~~~~~~~");
                Pick_File();
            }
        }
Esempio n. 17
0
 public void SurfaceCreated(ISurfaceHolder holder)
 {
     if (ActivityCompat.CheckSelfPermission(ApplicationContext, Manifest.Permission.Camera) != Android.Content.PM.Permission.Granted)
     {
         //Notlob permission
         ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera }, RequestCameraID);
         return;
     }
     try
     {
         cameraSource.Start(sv.Holder);
     }
     catch (InvalidOperationException)
     {
     }
 }
        protected override async void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.WriteExternalStorage,
                                                                   Manifest.Permission.ReadExternalStorage,
                                                                   Manifest.Permission.Camera }, 0);

            await CrossMedia.Current.Initialize();

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());
        }
Esempio n. 19
0
 //@SuppressLint("MissingPermission")
 private void makeCall()
 {
     // If permission to call is granted
     if (CheckSelfPermission(Android.Manifest.Permission.CallPhone) == Permission.Granted)
     {
         // Create the Uri from phoneNumberInput
         Uri uri = Uri.Parse("tel:" + phoneNumberInput.ToString());
         // Start call to the number in input
         StartActivity(new Intent(Intent.ActionCall, uri));
     }
     else
     {
         // Request permission to call
         ActivityCompat.RequestPermissions(this, new string[] { Android.Manifest.Permission.CallPhone }, REQUEST_PERMISSION);
     }
 }
Esempio n. 20
0
 public void FindBluetoothPrinters(IDiscoveryHandler handler, Activity activity)
 {
     try
     {
         const string permission = Manifest.Permission.AccessCoarseLocation;
         if (ContextCompat.CheckSelfPermission(Android.App.Application.Context, permission) == (int)Permission.Granted)
         {
             BluetoothDiscoverer.Current.FindPrinters(Android.App.Application.Context, handler);
             return;
         }
         TempHandler = handler;
         //Finally request permissions with the list of permissions and Id
         ActivityCompat.RequestPermissions(activity, PermissionsLocation, RequestLocationId);
     }catch (Exception ex)
     { }
 }
Esempio n. 21
0
        protected override void OnResume()
        {
            const string permission = Manifest.Permission.AccessFineLocation;
            const string persimmon  = Manifest.Permission.WriteExternalStorage;

            base.OnResume();
            if (ContextCompat.CheckSelfPermission(this, persimmon) != Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.WriteExternalStorage }, 0);
            }

            if (ContextCompat.CheckSelfPermission(this, permission) != Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation }, 0);
            }
        }
Esempio n. 22
0
        private void RequestPhonePermissions()
        {
            var currentActivity = (Activity)CurrentContext;

            if (ActivityCompat.ShouldShowRequestPermissionRationale(currentActivity, Manifest.Permission.AccessCoarseLocation))
            {
                Snackbar.Make(currentActivity.FindViewById((Android.Resource.Id.Content)), "App need location to use with maps.", Snackbar.LengthIndefinite).SetAction("Ok", v =>
                {
                    ((Activity)CurrentContext).RequestPermissions(permissions, LOCATION_PERMISSION_ID);
                }).Show();
            }
            else
            {
                ActivityCompat.RequestPermissions(((Activity)CurrentContext), permissions, LOCATION_PERMISSION_ID);
            }
        }
Esempio n. 23
0
 private void RequestCameraPermission()
 {
     if (ActivityCompat.ShouldShowRequestPermissionRationale(this, Manifest.Permission.Camera))
     {
         Snackbar.Make(photoContainer, Resource.String.permission_camera_rationale,
                       Snackbar.LengthIndefinite)
         .SetAction(Resource.String.ok, new Action <View>(delegate(View obj)
         {
             ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera }, REQUEST_CAMERA);
         })).Show();
     }
     else
     {
         ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera }, REQUEST_CAMERA);
     }
 }
Esempio n. 24
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            FindViewById <Button>(Resource.Id.restartBtn).Click += OnRestart;
            FindViewById <Button>(Resource.Id.stopBtn).Click    += OnStop;
            FindViewById <Button>(Resource.Id.spawnBtn).Click   += OnSpawn;
            FindViewById <Button>(Resource.Id.pauseBtn).Click   += OnPause;
            placeholder = FindViewById <AbsoluteLayout>(Resource.Id.UrhoSurfacePlaceHolder);

            if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) != Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new [] { Manifest.Permission.Camera }, 42);
            }
        }
Esempio n. 25
0
        async void RequestMediaPermissions()
        {
            if (ActivityCompat.ShouldShowRequestPermissionRationale(MainActivity.FormsActivity, Manifest.Permission.WriteExternalStorage))
            {
                // Provide an additional rationale to the user if the permission was not granted
                // and the user would benefit from additional context for the use of the permission.
                // For example, if the request has been denied previously.

                await UserDialogs.Instance.AlertAsync("Media Permission", "This action requires external storafge permission", "Ok");
            }
            else
            {
                // Media permissions have not been granted yet. Request them directly.
                ActivityCompat.RequestPermissions(MainActivity.FormsActivity, new string[] { Manifest.Permission.WriteExternalStorage }, RequestMedia);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

            ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation }, 0);

            LoadApplication(new App());

            CrossCurrentActivity.Current.Init(this, savedInstanceState);
        }
Esempio n. 27
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            global::Xamarin.FormsMaps.Init(this, savedInstanceState);

            if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessFineLocation) != (int)Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new[] { Manifest.Permission.AccessFineLocation, Manifest.Permission.AccessCoarseLocation }, 0);
            }

            LoadApplication(new App());
        }
Esempio n. 28
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            if (!(ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) == (int)Permission.Granted))
            {
                ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.Camera, }, 99);
            }

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
        }
        private void UploadFileButton_Clicked(object sender, EventArgs e)
        {
            var thisActivity = Forms.Context as Activity;

            if (ContextCompat.CheckSelfPermission(thisActivity, Manifest.Permission.ReadExternalStorage) !=
                Permission.Granted)
            {
                //permission denied
                ActivityCompat.RequestPermissions(thisActivity, new String[] { Manifest.Permission.ReadExternalStorage },
                                                  1);
            }
            else
            {
                FilePickerWindow();
            }
        }
        private void RequestLocationPermission()
        {
            var currentActivity = MainActivity.Instance;

            if (ActivityCompat.ShouldShowRequestPermissionRationale(currentActivity, Manifest.Permission.AccessFineLocation))
            {
                Snackbar.Make(currentActivity.FindViewById((Android.Resource.Id.Content)), "App requires location permission.", Snackbar.LengthIndefinite).SetAction("Ok", v =>
                {
                    ((Activity)currentActivity).RequestPermissions(_permissions, REQUEST_FINE_LOCATION);
                }).Show();
            }
            else
            {
                ActivityCompat.RequestPermissions(((Activity)currentActivity), _permissions, REQUEST_FINE_LOCATION);
            }
        }