// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); FFImageLoading.Forms.Platform.CachedImageRenderer.Init(); var mediaService = new PhotoPickerService(); LoadApplication(new App(mediaService)); return(base.FinishedLaunching(app, options)); }
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) { switch (requestCode) { case PickImageRequestCode: var iPickImageService = DependencyService.Get <IPhotoPickerService>(); PhotoPickerService pickImageService = iPickImageService as PhotoPickerService; if ((grantResults.Length == 1) && (grantResults[0] == Permission.Granted)) { // Location permission has been granted, okay to retrieve the location of the device. pickImageService.PickPhoto(); } else { pickImageService.RaisePhotoPickedFailed(); } break; case CameraStorageRequestCode: var iCameraStorageService = DependencyService.Get <IRequestPermissionService>(); RequestPermissionService cameraStorageService = iCameraStorageService as RequestPermissionService; if (grantResults.Length == 2 && grantResults[0] == Permission.Granted) { cameraStorageService.RaiseCameraPermissionSucceded(); } else { cameraStorageService.RaiseCameraPermissionFailed(); } if (grantResults.Length == 2 && grantResults[1] == Permission.Granted) { cameraStorageService.RaiseWriteExternalStoragePermissionSucceded(); } else { cameraStorageService.RaiseWriteExternalStoragePermissionFailed(); } break; default: base.OnRequestPermissionsResult(requestCode, permissions, grantResults); break; } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent) { base.OnActivityResult(requestCode, resultCode, intent); if (requestCode == PickImageId) { var iService = DependencyService.Get <IPhotoPickerService>(); PhotoPickerService service = iService as PhotoPickerService; if ((resultCode == Result.Ok) && (intent != null)) { Android.Net.Uri uri = intent.Data; var filename = Path.GetFileName(uri.Path); Stream stream = ContentResolver.OpenInputStream(uri); service.RaisePhotoPickedSucceeded(stream, filename); } else { service.RaisePhotoPickedSucceeded(); } } }