在Android中,調用系統圖庫可以通過Intent實現。以下是一個簡單的示例代碼,展示了如何使用Intent打開系統圖庫:
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);
}
在上面的代碼中,我們首先定義了一個請求碼REQUEST_CODE_GALLERY
,用于在后續的onActivityResult
方法中識別打開圖庫的Intent。然后,我們創建了一個Intent對象,指定了動作為ACTION_PICK
,并傳入了媒體類型MediaStore.Images.Media.EXTERNAL_CONTENT_URI
,表示我們要打開的是系統圖庫中的圖片。最后,我們使用startActivityForResult
方法啟動Intent,并傳入請求碼。
當用戶從圖庫中選擇了一張圖片后,系統會調用我們的onActivityResult
方法。在這個方法中,我們可以獲取到用戶選擇的圖片信息,例如圖片的Uri等。以下是一個簡單的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中
}
}
在上面的代碼中,我們首先檢查請求碼和結果碼是否符合預期,然后獲取到Intent中的圖片Uri。最后,我們可以使用這個Uri來加載圖片,例如將其設置為ImageView的圖片源。