【问题标题】:How to set up intent for viewing image that is saved in internal storage with default Android viewer?如何设置使用默认 Android 查看器查看保存在内部存储中的图像的意图?
【发布时间】:2011-06-09 01:02:59
【问题描述】:

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

我做错了什么?

【问题讨论】:

    标签: android android-image


    【解决方案1】:

    以下内容对我很有效:

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

    我看到的区别是你不调用setDataAndType

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 2011-07-20
      • 2021-10-11
      • 1970-01-01
      相关资源
      最近更新 更多