Файл SDCard не открывается в OS 6 и более поздних версиях - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть один метод, который открывает файлы из моего приложения, и этот метод хорошо работает на всех ОС для внутреннего хранилища, но когда SDCard из OS 6 и выше хочет открыть файл, я обнаружил ошибку:

Не удалось найти настроенный корень, содержащий / storage / BE02-07BA / WhatsApp / Media / WallPaper / download (1) .jpg

Мой код указан ниже:

try {
                    File f = new File(feedItem.getFilePath());
                    MimeTypeMap map = MimeTypeMap.getSingleton();
                    String url = f.getName();
                    url = URLEncoder.encode(url, "UTF-16").replace("+", "%20");
                    String ext = MimeTypeMap.getFileExtensionFromUrl(url);
                    String type = map.getMimeTypeFromExtension(ext.toLowerCase());
                    if (type == null)
                        type = "*/*";
                    Uri uri = Uri.parse("www.google.com");
                    Intent type_intent = new Intent(Intent.ACTION_VIEW, uri);
                    Uri data = FileProvider.getUriForFile(mContext, BuildConfig.APPLICATION_ID + ".provider",f);
                    type_intent.setDataAndType(data, type);
                    type_intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

                    mContext.startActivity(type_intent);
                } catch (Exception e) {
                    // Auto-generated catch block
                    e.printStackTrace();
                }

1 Ответ

0 голосов
/ 20 декабря 2018

Попробуйте поставить это на свой манифест Android.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...