Я пытаюсь загрузить изображение из Интернета (в формате GIF, если это что-то меняет) и показать его на экране с возможностью масштабирования / панорамирования. Я успешно загрузил изображение в экземпляр Bitmap myBitmap , но ImageView не имеет функции масштабирования. Так что вместо этого я хочу представить его в программе просмотра по умолчанию, которая имеет функции масштабирования / панорамирования. Для того, чтобы настроить намерение мне нужно предоставить URI для сохраненного файла.
Поэтому сначала я сохраняю файл во внутреннем хранилище (также предоставляя доступ к другим приложениям с помощью MODE_WORLD_READABLE):
try {
FileOutputStream out = openFileOutput("scrible",
Context.MODE_WORLD_READABLE);
myBitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (FileNotFoundException e) {
Log.d(myTag, e.toString());
}
Тогда я успешно проверяю, действительно ли она читаема:
File myFile = new File(getFilesDir(), "scrible");
if (myFile.canRead()) {
Log.d(myTag, "Its readable");
}
Затем я пытаюсь настроить намерение (которое выдает ошибку: неожиданно остановлено):
Uri fileUri = Uri.fromFile(myFile);
startActivity(new Intent(Intent.ACTION_VIEW, fileUri));
Я пытался настроить намерение отдельно, и оно не выдает ошибку до вызова startActivity (намерение);
Что я делаю не так?