OnActivityResult从意向中给定了null数据



当我从图库中获取图像并将意向数据设置为null时,我遇到了问题。我在其他片段中有相同的代码,我用foto注册了一个用户,并没有问题。这是发生错误的剖面图区域

private fun loadImage() {
/*val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, pickImage)*/
val imageIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI)
startActivityForResult(imageIntent, pickImage) //funciona*/
}
@Suppress("DEPRECATION")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == AppCompatActivity.RESULT_OK && requestCode == pickImage) {
if (data != null) {
try {
val imageUri = data.data //data.extras!!.get("data") as Bitmap
val bitmap =
MediaStore.Images.Media.getBitmap(context?.contentResolver, imageUri)
avatar.setImageURI(imageUri)
register_avatarFilename.setText("image_test")
register_avatarFiledata.text = saveImage(bitmap)
} catch (ioe: IOException) {
ioe.printStackTrace()
register_avatarFilename.setText("Image upload failed")
}
}
}
}
fun saveImage(myBitmap: Bitmap): String {
val bytes = ByteArrayOutputStream()
myBitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes)
val b = bytes.toByteArray()
val encodedAvatar = Base64.encodeToString(b, Base64.DEFAULT)
return encodedAvatar
}
Put this code In Activity One
Intent intent = getIntent();
intent.putExtra("Date",dateSelected);
setResult(RESULT_OK, intent);
finish();

And this code on second activity 
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK && requestCode==1) {
Bundle MBuddle = data.getExtras();
String MMessage = MBuddle.getString("Date");
}
}

最新更新