0

我正在尝试在我的应用程序中上传图像,并且我想在单击上传按钮时显示一些选择。不幸的是,它给了我这个错误。我不知道代码有什么问题。我从这里得到这个尝试使用意图在 android 中打开一个特定文件夹

在此处输入图像描述

提前致谢!

uploadpic.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        openFolder();
    }
});
}
  public void openFolder()
        {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
         Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
         + "/Pictures/");
        intent.setDataAndType(uri, "images");
        startActivity(Intent.createChooser(intent, "Open folder"));


    takephoto.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            dispatchTakePictureIntent();            
        }
    });
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        profpic.setImageBitmap(imageBitmap);
    }
}
    static final int REQUEST_IMAGE_CAPTURE = 1;


    private void dispatchTakePictureIntent() {
        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
        }
    } 
4

1 回答 1

1

您只希望用户选择图像,对吗?那么也许一个通用的文件选择器不是最适合您的需求的。

一个快速的谷歌搜索想出了这个(也来自 SO)。似乎该解决方案仅限于 SD 卡上的图片。


如果您不想点击链接:

这就是你将如何开始一个intent以获得图像的方式。

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);

然后您需要覆盖onActivityResult(),但这一切都在链接中描述。

于 2014-02-06T16:59:44.607 回答