在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的图片源。