1

我想要做的是从网络上下载图像(它的 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) 的错误调用提供错误。

我做错了什么?

4

1 回答 1

3

以下对我很有效:

Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(outputFileName)),"image/jpeg");
startActivity(intent);

我看到的区别是您不调用setDataAndType.

于 2011-06-08T17:02:59.900 回答