protected async override void OnCreate(Bundle bundle) { base.OnCreate(bundle); ActionBar.SetIcon(Android.Resource.Color.Transparent); Forms.Init(this, bundle); var a = new Adapter(); Plugin.Permissions.Abstractions.PermissionStatus status = await Plugin.Permissions.CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Location); if (status == Plugin.Permissions.Abstractions.PermissionStatus.Granted) { App.SetAdapter(a); } else { App.SetAdapterDontStartScanning(a); } //float widthDp = Resources.DisplayMetrics.WidthPixels / Resources.DisplayMetrics.Density; var IsTablet = Xamarin.Forms.Device.Idiom == TargetIdiom.Tablet; RequestedOrientation = IsTablet ? ScreenOrientation.Unspecified : ScreenOrientation.Portrait; //if (!HACCPAppSettings.SharedInstance.CheckPendingRecords) { // HACCPAppSettings.SharedInstance.CheckPendingRecords = true; //} LoadApplication(new App()); }
//public static ImageSource GetImageFromEntityAssoc(List<AssociationField> AssociationFieldCollection) //{ // try // { // var FileID = AssociationFieldCollection.Where(x => x.AssocSystemCode == "PHGAL").FirstOrDefault().AssocMetaDataText.FirstOrDefault().EntityFileID; // var EntityID = AssociationFieldCollection.Where(x => x.AssocSystemCode == "PHGAL").FirstOrDefault().AssocMetaDataText.FirstOrDefault().EntityID; // string fileStr = string.Empty; // Task.Run(() => // { // var d = EntityAPIMethods.GetFileFromEntity(EntityID.ToString(), FileID.ToString(), Functions.UserName); // fileStr = d.GetValue("ResponseContent").ToString(); // }).Wait(); // FileItem fileResp = JsonConvert.DeserializeObject<FileItem>(fileStr); // return ImageSource.FromStream(() => new MemoryStream(fileResp.BLOB)); // } // catch (Exception ex) // { // return ImageSource.FromFile("Assets/na.png"); // } //} public static async Task <bool> IsMediaPermissionGrantedAsync() { Plugin.Permissions.Abstractions.PermissionStatus persmissionstatus = Plugin.Permissions.Abstractions.PermissionStatus.Unknown; if (Device.RuntimePlatform == Device.Android || Device.RuntimePlatform == Device.UWP) { persmissionstatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage); if (persmissionstatus != Plugin.Permissions.Abstractions.PermissionStatus.Granted) { await CrossPermissions.Current.RequestPermissionsAsync(Plugin.Permissions.Abstractions.Permission.Storage); persmissionstatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage); } } if (Device.RuntimePlatform == Device.iOS) { persmissionstatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Photos); if (persmissionstatus != Plugin.Permissions.Abstractions.PermissionStatus.Granted) { await CrossPermissions.Current.RequestPermissionsAsync(Plugin.Permissions.Abstractions.Permission.Photos); persmissionstatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Photos); } } if (persmissionstatus == Plugin.Permissions.Abstractions.PermissionStatus.Granted) { return(true); } return(false); }
/** * Includes code from https://github.com/jamesmontemagno/PermissionsPlugin * Returns if we have location permissions. * Will prompt users for permission if False (but will still return False regardless if they change settings) */ async Task <bool> hasLocationPermissions() { Plugin.Permissions.Abstractions.PermissionStatus device_status = await CrossPermissions.Current.CheckPermissionStatusAsync <LocationPermission>(); if (device_status != Plugin.Permissions.Abstractions.PermissionStatus.Granted) { await DisplayAlert("Location required", "Location permissions are required to look up destination.", "OK"); //Open prompt to settings: await Utils.CheckPermissions(new LocationPermission()); //The next lines dont wait for you to return from the Settings app. It'll think you denied permissions Console.WriteLine("refreshing"); device_status = await CrossPermissions.Current.RequestPermissionAsync <LocationPermission>(); } return(device_status == Plugin.Permissions.Abstractions.PermissionStatus.Granted); }
public override async Task <bool> AskForRequiredPermission() { bool permissionGranted = true; if (Build.VERSION.SdkInt >= BuildVersionCodes.M) { //Android 6.0 Upper Plugin.Permissions.Abstractions.PermissionStatus status = await Plugin.Permissions.CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage); permissionGranted = ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.WriteExternalStorage) == (int)Android.Content.PM.Permission.Granted && ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.ReadExternalStorage) == (int)Android.Content.PM.Permission.Granted; if (!permissionGranted) { await Plugin.Permissions.CrossPermissions.Current.RequestPermissionsAsync(Plugin.Permissions.Abstractions.Permission.Storage); permissionGranted = ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.WriteExternalStorage) == (int)Android.Content.PM.Permission.Granted && ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.ReadExternalStorage) == (int)Android.Content.PM.Permission.Granted; } } return(permissionGranted); }