android的文件选择器

时间:2013-04-17 00:56:23

标签: java android

我正在创建一个Android相册应用程序,我可以在其中创建相册并添加照片并从相册中删除照片。添加照片有点棘手,我需要带文件路径的照片文件名。在java中使用JFileChooser非常容易,但这是android,我不知道如何获取文件名和文件路径。在android api中有什么东西我可以获得与JFileChooser相同的功能。

我正在寻找这个问题的解决方案,要么使用某种文件选择器,要么使用整个新方法。任何帮助表示赞赏..

或者我可以实施任何其他方法来添加照片......

1 个答案:

答案 0 :(得分:1)

您可以使用Intent.ACTION_PICK来调用图像选择器。默认图库应用程序或设备上安装的其他应用程序可能会捕获此意图。

private static final int REQUEST_PICKER = 1;

private void invokePicker() {
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    intnet.setType("image/*");
    startActivityForResult(Intent.createChooser(intent, "Complete action using"), REQUEST_PICKER);
}

然后在onActivityResult上收到结果。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != RESULT_OK)
        return;
    if (requestCode == PICK_FROM_FILE) {
        // Get Uri of the file selected,
        Uri theImageUri = data.getData();
        // Or if you want a Bitmap,
        Bitmap theBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), theImageUri);
    }
}

<强>编辑:

虽然这样您不需要真正的文件路径you can get it from MediaStore if you need.