gpt4 book ai didi

android - 裁剪图像 Android Kotlin

转载 作者:太空狗 更新时间:2023-10-29 13:49:40 29 4
gpt4 key购买 nike

我想制作一个图像选择器以允许我将图像返回到数据库,但它不起作用。我在第一个 if activityResult 中倒下了,但在什么都没有之后有人可以帮助我吗?

imagePicker 的 Intent :

imageAccount.setOnClickListener {
val intent = Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
startActivityForResult(intent, CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE)
}

我的 onActivityResult :

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode == android.app.Activity.RESULT_OK) {
val imageUri = CropImage.getPickImageResultUri(context!!, data)
CropImage.activity(imageUri)
.setRequestedSize(1000, 1000)
.start(this@Account.activity!!)
Log.i("PICTURE","FIRST-IF")
}
else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
Log.i("PICTURE","ELSE-IF")
val result = CropImage.getActivityResult(data)
if (resultCode == android.app.Activity.RESULT_OK) {
Log.i("PICTURE","SECOND-IF")
picture = File(result.uri.path)
Log.i("PICTURE","OK")


val bitmap = BitmapFactory.decodeFile(result.uri.path)
imageAccount.setImageBitmap(bitmap)
}
else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Log.i("PICTURE","SECOND-ELSE-IF")
//showError(result.error)
}
}
Log.i("PICTURE","XX")


}

感谢您的帮助!

最佳答案

我用这段代码解决了我的问题:

imageAccount.setOnClickListener {
if(CropImage.isExplicitCameraPermissionRequired(this@Account.activity!!)) {
ActivityCompat.requestPermissions(this@Account.activity!!, arrayOf(android.Manifest.permission.CAMERA), REQUEST_PERMISSION_CAMERA)
}
else {
startActivityForResult(CropImage.getPickImageChooserIntent(this@Account.activity!!), CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE)
}
}

关于 Activity 结果:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode == android.app.Activity.RESULT_OK) {
val imageUri = CropImage.getPickImageResultUri(context!!, data)
CropImage.activity(imageUri)
.setRequestedSize(1000, 1000)
.start(context!!,this)
}
else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
val result = CropImage.getActivityResult(data)
if (resultCode == android.app.Activity.RESULT_OK) {
picture = File(result.uri.path)


val bitmap = BitmapFactory.decodeFile(result.uri.path)
imageAccount.setImageBitmap(bitmap)
updateProfile()
}
else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
//showError(result.error)
}
}
}

关于android - 裁剪图像 Android Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49769175/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com