Android: 从图库中选择照片

Android: Choose Photo from Gallery

我正在尝试使用以下代码访问 android 设备中的照片库:

txtSelectPhoto.setOnClickListener(v->{
        Intent i = new Intent(Intent.ACTION_PICK);
        i.setType("image/*");
        startActivityForResult(i,GALLERY_CHANGE_PROFILE);
    });

但是当它打开时,它只是给我一个设备文件夹的空白屏幕,没有这样的照片,尽管设备上有照片。.有什么办法可以解决这个问题吗?

删除 setType() 并在 Intent 构造函数中传递 Uri,表示您希望用户从中选择的集合:

txtSelectPhoto.setOnClickListener(v->{
    Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(i, GALLERY_CHANGE_PROFILE);
});

或者,保留 MIME 类型并切换到 ACTION_GET_CONTENT:

txtSelectPhoto.setOnClickListener(v->{
    Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    i.setType("image/*");
    startActivityForResult(i, GALLERY_CHANGE_PROFILE);
});