应用程序关闭时,我从Kotlin本地画廊按下后退按钮



我在Activity上,在那里,我调用本地存储库。

fun selectGallery() {
val readPermission = ContextCompat.checkSelfPermission(
this,
Manifest.permission.READ_EXTERNAL_STORAGE
)
// 권한 확인
if (readPermission == PackageManager.PERMISSION_DENIED) {
// 권한 요청
ActivityCompat.requestPermissions(
this,
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE
),
100
)
} else {
var intent = Intent(Intent.ACTION_PICK)
intent.data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
intent.type = "image/*"
startActivityForResult(intent, 2000)
}
}

binding.editAvatar.setOnClickListener {
selectGallery()
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {

2000 -> {
// 사진 가져오기
selectedAvatarURI = data?.data!!
Glide.with(this)
.load(selectedAvatarURI)
.into(binding.avatarImage)
editFillClass.avatarFill.value = true
}
}
}

所以这段代码运行良好。

当我点击一个按钮时,本地图库屏幕打开。

但是,如果我按下返回键,应用程序就会被杀死。

奇怪的是,同样的代码在另一个Fragment中使用。

在那里,即使我按下返回键,应用程序也不会关闭。

返回到前一个片段页。

为什么会发生这种情况,我如何才能使画廊屏幕关闭时,我按下后退按钮?

您需要检查结果,最有可能的data是空的:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {

2000 -> {
// 사진 가져오기
selectedAvatarURI = data?.data
if (selectedAvatarURI != null) {
Glide.with(this)
.load(selectedAvatarURI)
.into(binding.avatarImage)
editFillClass.avatarFill.value = true
}
}
}
}

相关内容

  • 没有找到相关文章

最新更新