【问题标题】:Android : URI for open an image with ACTION ViewAndroid:使用操作视图打开图像的 URI
【发布时间】:2011-11-15 23:21:53
【问题描述】:

这是代码

protected static final String DIR_IMAGE = "/data/data/it.android.myprogram/images/";
Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
Uri u = Uri.fromFile(destinationFile);
intent.setDataAndType(u, "image/*");
startActivity(intent); 

如果我这样做,要打开的文件位于 /data/data/it.android.myprogram/images 中:

File dir = new File(DIR_IMAGE);
String[] files = dir.list();

var 文件包含所有文件,但当我开始时

intent.setDataAndType(u, "image/*");
startActivity(intent); 

它显示消息Impossible to find /data/data/it.android.myprogram/images/img1.jpg

为什么??

【问题讨论】:

    标签: android actionview


    【解决方案1】:

    /data/data/it.android.myprogram 中的文件只能由您的应用程序访问。如果您想通过 Intent 将它们发送给其他应用程序,您必须使用您的活动的openFileOutput 方法复制内容。

    protected static final String DIR_IMAGE = "/data/data/it.android.myprogram/images/";
    String filePath = DIR_IMAGE + "fileName";
    FileInputStream fileInputStream = new FileInputStream(new File(filePath));
    FileOutputStream fileOutputStream = openFileOutput("fileName", Activity.MODE_WORLD_READABLE);
    ByteStreams.copy(fileInputStream, fileOutputStream);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.parse("content://it.android.myprogram/fileName"), "image/*");
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多