Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android Gallery打开图像_Android_Gallery_Android Gallery - Fatal编程技术网

使用Android Gallery打开图像

使用Android Gallery打开图像,android,gallery,android-gallery,Android,Gallery,Android Gallery,我需要在Android Gallery中打开特定的图像,但我尝试了一些代码,但没有成功。 这是我的代码: Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse( "file:///Download/screenshot.jpg"), "image/*"); startActivity(intent); Android Gallery似乎是开放的,但没

我需要在Android Gallery中打开特定的图像,但我尝试了一些代码,但没有成功。 这是我的代码:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse( "file:///Download/screenshot.jpg"), "image/*");
startActivity(intent);
Android Gallery似乎是开放的,但没有图像,它显示了一个黑屏

我正在三星Galaxy Nexus的ICS 4.0上试用我的应用程序

希望有人能帮助我

谢谢, Víctor.

使用w按钮和EditID到“btnLoadPicture”和ImageView ID到“imgView” 请使用以下命令并重试

private static int RESULT_LOAD_IMAGE = 1;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button btnLoadPicture = (Button) findViewById(R.id.buttonLoadPicture);

    btnLoadPicture.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

            startActivityForResult(i, RESULT_LOAD_IMAGE);

        }
    });
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };

        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();
        // String picturePath contains the path of selected Image
        ImageView imageView = (ImageView) findViewById(R.id.imgView);
        imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
    }
}

文件是如何到达那里的?这可能是一个权限问题,当文件被写入时,它取决于是否在写入期间设置了MODE_WORLD_READABLE标志。页面上有完整的答案。文件路径正确吗?那里不应该有SD卡吗?Uri.parse(“file://sdcard/Download/screenshot.jpg首先,谢谢各位回答我的问题。还要特别感谢SmartLemon,因为我只在路径文件中添加了“scard”,并且。。。成功了!答案就是问题的答案。。您似乎没有加载
意图。操作\u视图
要解释什么?这太简单了调用按钮“btnLoadPicture”,“i”是新的意图集操作\u PICK和.MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI一旦用户选择图像,从图像库startActivityForResult()中选择图像时,将调用主活动的ActivityResult()方法方法将处理返回的结果。一旦选择图像,就会调用onActivityResult,如果触发的活动确实是图像库,则会调用用于我们之前传递的startActivityForResult()方法的结果\u加载\u图像