0

我正在尝试将图像打开到图库(或任何其他处理图像打开的应用程序).​​..

问题是它告诉我找不到元素...但是,当我调用 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);
                }
            });
4

1 回答 1

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);
            }
        });
于 2013-07-22T17:40:23.420 回答