android将图像打开到Gallery中

时间:2013-07-22 14:01:20

标签: android android-intent android-imageview

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

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

1 个答案:

答案 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);
            }
        });
相关问题