代码之家  ›  专栏  ›  技术社区  ›  Cruces

您能否将自定义数据传递到意图包中,并将其返回到OnActivityResult中?

  •  2
  • Cruces  · 技术社区  · 7 年前

    我正在使用相机拍摄我希望附在报告上的照片。

    我有一个报告id,目前我正在将其存储在支架周围的碎片中,当我得到结果时,使用它来查看要将照片附加到什么上。

    有没有一种方法可以为我拍摄照片的目的添加一些额外的东西,然后在什么时候 OnActivityResult 你能找到他们吗?

    举个例子,我希望能够做到:

    val i = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    i.putExtra(REPORT_ID,324) //or something like this????
    startActivityForResult(i,REQUEST);
    

    在这之后呢

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        val image: Bitmap? = data?.extras?.get("data") as Bitmap?
        val reportId = ?????
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Роман Белянин    7 年前

    是的,您可以通过实现parcelable传递自定义数据。但不要建议像传递图像一样传递大数据。更好的方法是将图像URI传递给bundel。