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。