单击按钮时如何显示文件选择器?

时间:2014-02-06 16:07:44

标签: android filechooser

我正在尝试在我的应用中上传图片,并且我想在点击上传按钮时显示一些选项。不幸的是它给了我这个错误。我不知道代码有什么问题。我从这里得到了这个Trying open a specific folder in android using intent

enter image description here

提前感谢!

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);
        }
    } 

1 个答案:

答案 0 :(得分:1)

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

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


如果您不想点击链接:

这是为了获取图片而启动intent的方法。

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

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