Android Photopicker可以在多个地方集成,以下是两种推荐的方法:
从Android 13(API 33)开始,官方提供了系统级图片选择器Photo Picker,无需申请权限,只需几行代码即可轻松接入。首先,确保你的项目依赖了最新版本的AndroidX Activity库:
dependencies {
implementation 'androidx.activity:activity:1.8.2'
}
然后,使用Activity Result API来调用Photo Picker。以下是一个简单的示例代码,展示了如何注册一个活动结果启动器,并在用户选择媒体后处理返回的结果:
// 注册照片选择器活动启动器
ActivityResultLauncher<PickVisualMediaRequest> photoPickerLauncher =
registerForActivityResult(new PickVisualMediaRequest.Builder().build(),
new ActivityResultContracts.ActivityResultCallback<Uri>() {
@Override
public void onActivityResult(Uri uri) {
if (uri != null) {
// 用户选择了照片或视频
} else {
// 用户没有选择任何内容
}
}
});
// 在需要的地方启动照片选择器
photoPickerLauncher.launch(new PickVisualMediaRequest.Builder().setType(MediaType.IMAGE_AND_VIDEO).build());
除了官方提供的系统级Photo Picker,还可以使用一些开源库来集成Photo Picker功能。例如,GalleryFinal
和ImagePicker
是两个流行的开源库,它们提供了丰富的功能和良好的兼容性。
通过上述方法,你可以根据自己的需求和技术栈选择合适的方式来集成Android Photopicker。