我正在制作一个 android 相册应用程序,我可以在其中创建相册并添加照片并从相册中删除照片。添加照片有点棘手,我需要一个带有文件路径的照片文件名。在 java 中使用 JFileChooser 非常容易,但这是 android,我不知道获取文件名和文件路径。android api中是否有任何东西可以让我获得与JFileChooser相同的功能。
我正在寻找使用某种文件选择器或全新方法来解决此问题的方法。任何帮助表示赞赏..
或者我可以实施任何其他方法来添加照片...
您可以使用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);
intent.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);
}
}
编辑:
虽然通过这种方式您不需要真正的文件路径,但如果需要,您可以从 MediaStore 获取它。