我试图将图片打开到图库(或任何其他处理图像打开的应用程序)...
问题在于它告诉我它无法找到元素......但是,当我调用BitmapFactory.decodeFile()时,图像被正确加载。
这是代码
imgV = (ImageView)this.findViewById(R.id.image);
final String path = myApp.getAppContext().getFilesDir().getPath().toString() + "/media/" + Tools.toHexString(pmid) + "/" + md5 + ".jpg";
imgV.setImageBitmap(BitmapFactory.decodeFile(path));
imgV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file://" + path);
intent.setDataAndType(uri, "image/*");
startActivity(intent);
}
});
答案 0 :(得分:0)
将图像保存到SD卡上具有全局可读权限的目录中,图库将能够打开并显示它。
File folder = new File(Environment.getExternalStorageDirectory()+ "/myTmpDir/" + Tools.toHexString(pmid));
folder.mkdirs();
final String path = new File(Environment.getExternalStorageDirectory()+ "/myTmpDir/"+Tools.toHexString(pmid) + "/" + md5 + ".jpg");
imgV.setImageBitmap(BitmapFactory.decodeFile(path));
imgV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file://" + path);
intent.setDataAndType(uri, "image/*");
startActivity(intent);
}
});