Android onActivityForResult不';我没接到电话
在这段代码中,永远不会调用onActivityForResult 我的活动:Android onActivityForResult不';我没接到电话,android,kotlin,onactivityresult,Android,Kotlin,Onactivityresult,在这段代码中,永远不会调用onActivityForResult 我的活动: class PersonalInformationActivity : AppCompatActivity(), View.OnClickListener { private val READ_REQUEST_CODE = 2 lateinit var user: User lateinit var email: EditText lateinit var phoneNumber:
class PersonalInformationActivity : AppCompatActivity(), View.OnClickListener {
private val READ_REQUEST_CODE = 2
lateinit var user: User
lateinit var email: EditText
lateinit var phoneNumber: EditText
lateinit var username: EditText
lateinit var profilePicture: ImageView
lateinit var photoURI: Uri
//someCode
override fun onClick(v: View) {
when (v.id) {
R.id.profilePicture -> {
importPicture()
if (photoURI != null) {
try {
val file = FileUtil.from(this, photoURI)
RequestAddUserProfilePicture.MakeRequestTask(this, this).execute(user.token, file, photoURI.path!!.substring(photoURI.path!!.lastIndexOf("/") + 1))
Log.d("file", "File...:::: uti - " + file.path + " file -" + file + " : " + file.exists())
} catch (e: IOException) {
e.printStackTrace()
}
} else {
Toast.makeText(this, "need pic", Toast.LENGTH_LONG).show()
}
}
}
}
private fun importPicture() {
val intent = Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
setResult(Activity.RESULT_OK)
startActivityForResult(intent, READ_REQUEST_CODE)
}
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
if (data != null) {
photoURI = data.data
Log.d("URI", "Uri:" + photoURI.toString())
}
}
}
}
我读过这个答案:
并尝试了这个技巧,但并没有解决我的问题。对活动和片段使用不同的请求代码。我尝试了你的代码,并尝试了不同的请求代码101和102,我得到了结果。这不是一个真正的解决方法,但我将它从Kotlin重构为Java(完全相同的代码),它也可以工作…调用
getActivity().startActivityForResult(intent,READ\u request\u code)
PersonalInformationActivity是否包含任何片段?@MuhammadMuzammilSharif我称之为.startActivityForResult(意图,读取请求代码),但它没有works@BachVu一点也不,这是一个非常简单的活动。请检查结果代码resultCode==activity.result\u OK
。它应该是resultCode==Activity.RESULT\u OK
最后它不工作了。它只工作了一次。我还尝试了2个模拟器,但它不起作用。我试过了请求代码101、102、10003…你试过101作为活动请求,102作为片段?我刚刚试过,101作为我的活动,102作为我的片段。它不起作用我在另一台物理设备(华为)上试过也不起作用。你尝试了哪种API?棒棒糖,micromax