私がやろうとしているのは、Web から画像をダウンロードし (それが何かを変更する場合は 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(intent);を呼び出すまでエラーは発生しません。
私が間違っていることは何ですか?