这是代码
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);
它显示消息无法找到/data/data/in.android.myprogram/images/img1.jpg
Why ??
文件位于/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/*");
希望能帮助到你
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)