【发布时间】:2020-03-16 05:14:57
【问题描述】:
我在我的应用上实现了这样的发送电子邮件功能:
val emailIntent = Intent(Intent.ACTION_SENDTO)
emailIntent.type = "message/rfc822"
emailIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf("myId@gmail.com"))
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Hello~")
emailIntent.putExtra(Intent.EXTRA_TEXT, "$sendData")
try {
startActivityForResult(Intent.createChooser(emailIntent, "Send mail..."), RESULT_SEND_EMAIL)
} catch (ex: ActivityNotFoundException) {
Toast.makeText(this@MyActivity, "There are no email clients installed.", Toast.LENGTH_SHORT).show()
} catch (e : Exception){
Toast.makeText(this@MyActivity, "${e.toString()}", Toast.LENGTH_SHORT).show()
}
从意图返回后,我使用startActivityForResult() 进行处理。
问题是 Gmail 应用无法在我同事的一台设备上打开。她用的是华为mate pro。它仍然显示在应用程序选择器菜单上。但是就是打不开。
这有什么问题?是我的问题、Gmail 问题还是设备问题?
【问题讨论】:
-
使用
startActivity()代替startActivityForResult() -
有什么原因吗? @PratikButani 我想在结果之后调用一些函数。
-
@PratikButani 什么?这与stackoverflow.com/questions/3470042/… 不重复。
-
startActivityForResult() 与其他设备完全兼容。
-
我都试过了,你所有的答案都不正确。它适用于
startActivityForResult()和输入message/rfc822。 @PratikButani
标签: android android-intent gmail