如何把上面代码变成俩个方法一个获取图片一个获取视频
时间: 2024-04-16 12:29:15 浏览: 16
要将上面的代码拆分为两个方法,一个用获取图片,另一个用于获取视频,你可以稍作修改。以下是示例代码:
1. 获取图片的方法:
```kotlin
private val imageGalleryLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
// 在这里处理获取到的图片的 Uri
if (uri != null) {
// 执行你的操作,例如显示图片等
}
}
fun getImageFromGallery() {
imageGalleryLauncher.launch("image/*")
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == YOUR_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
val uri: Uri? = data?.data
// 在这里处理获取到的图片的 Uri
if (uri != null) {
// 执行你的操作,例如显示图片等
}
}
}
```
2. 获取视频的方法:
```kotlin
private val videoGalleryLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
// 在这里处理获取到的视频的 Uri
if (uri != null) {
// 执行你的操作,例如播放视频等
}
}
fun getVideoFromGallery() {
videoGalleryLauncher.launch("video/*")
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == YOUR_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
val uri: Uri? = data?.data
// 在这里处理获取到的视频的 Uri
if (uri != null) {
// 执行你的操作,例如播放视频等
}
}
}
```
请确保在你的 Activity 或 Fragment 中替换 `YOUR_REQUEST_CODE` 为你自己定义的请求码。
现在,你可以使用 `getImageFromGallery()` 方法来获取图片,使用 `getVideoFromGallery()` 方法来获取视频。每个方法都会启动相应的相册选择操作,并在获取到结果时进行处理。