コード例 #1
0
        private async void AddBook(AddBookClickedMessage msg)
        {
            var permissionStatus = await PermissionHelper.CheckAndRequestPermission(Plugin.Permissions.Abstractions.Permission.Storage);

            if (permissionStatus != Plugin.Permissions.Abstractions.PermissionStatus.Granted)
            {
                await DisplayAlert("Permission not granted", "Cannot open book without storage permissions.", "OK");

                return;
            }

            var pickedFile = await CrossFilePicker.Current.PickFile();

            if (pickedFile == null)
            {
                return;
            }

            await OpenPickedBook(pickedFile);
        }
コード例 #2
0
        private async void AddBook(AddBookClickedMessage msg)
        {
            var permissionStatus = await PermissionHelper.CheckAndRequestPermission(Plugin.Permissions.Abstractions.Permission.Storage);

            if (permissionStatus == Plugin.Permissions.Abstractions.PermissionStatus.Granted)
            {
                var pickedFile = await CrossFilePicker.Current.PickFile();

                if (pickedFile != null)
                {
                    try {
                        var book = await _bookshelfService.AddBook(pickedFile);

                        if (book.Item2)
                        {
                            Bookshelf.Children.Add(new BookCard(book.Item1));
                        }
                        this.SendBookToReader(book.Item1);
                    } catch (Exception e) {
                        var ext = string.Empty;
                        if (!string.IsNullOrEmpty(pickedFile.FileName))
                        {
                            ext = pickedFile.FileName.Split('.').LastOrDefault();
                        }
                        Analytics.TrackEvent("Failed to open book", new Dictionary <string, string> {
                            { "Extension", ext }
                        });
                        Crashes.TrackError(e, new Dictionary <string, string> {
                            { "Filename", pickedFile.FileName }
                        });
                        await DisplayAlert("Error", "File failed to open", "OK");
                    }
                }
            }
            else
            {
                await DisplayAlert("Permission not granted", "Cannot open book without storage permissions.", "OK");
            }
        }