在Android中,調(diào)用系統(tǒng)圖庫可以通過Intent實(shí)現(xiàn)。以下是一個(gè)簡單的示例代碼,展示了如何使用Intent打開系統(tǒng)圖庫:
private static final int REQUEST_CODE_GALLERY = 1;
private void openGallery() {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_CODE_GALLERY);
}
在上面的代碼中,我們首先定義了一個(gè)請求碼REQUEST_CODE_GALLERY
,用于在后續(xù)的onActivityResult
方法中識(shí)別打開圖庫的Intent。然后,我們創(chuàng)建了一個(gè)Intent對象,指定了動(dòng)作為ACTION_PICK
,并傳入了媒體類型MediaStore.Images.Media.EXTERNAL_CONTENT_URI
,表示我們要打開的是系統(tǒng)圖庫中的圖片。最后,我們使用startActivityForResult
方法啟動(dòng)Intent,并傳入請求碼。
當(dāng)用戶從圖庫中選擇了一張圖片后,系統(tǒng)會(huì)調(diào)用我們的onActivityResult
方法。在這個(gè)方法中,我們可以獲取到用戶選擇的圖片信息,例如圖片的Uri等。以下是一個(gè)簡單的onActivityResult
方法示例:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_GALLERY && resultCode == RESULT_OK && data != null) {
Uri imageUri = data.getData();
// 在這里處理用戶選擇的圖片,例如顯示在ImageView中
}
}
在上面的代碼中,我們首先檢查請求碼和結(jié)果碼是否符合預(yù)期,然后獲取到Intent中的圖片Uri。最后,我們可以使用這個(gè)Uri來加載圖片,例如將其設(shè)置為ImageView的圖片源。