binding.navView.setNavigationItemSelectedListener {
when(it.itemId){
R.id.requestWallpaper->{
val emailIntent=Intent().apply {
action=Intent.ACTION_SEND
data= Uri.parse("mailto:")
type="text/plain"
putExtra(Intent.EXTRA_EMAIL,"[email protected]")
putExtra(Intent.EXTRA_SUBJECT,"request wallpaper")
putExtra(Intent.EXTRA_TEXT,"request wallpaper")
}
if (emailIntent.resolveActivity(this!!.packageManager) !=null){
emailIntent.setPackage("com.google.android.gm")
startActivity(emailIntent)
}else{
Toast.makeText(this@MainActivity,"No app available to send email!!",Toast.LENGTH_SHORT).show()
}
}
當導航抽屜打開時,用戶會想要發出壁紙請求,當他按下影像按鈕時,我希望他現在通過 gmail 向 [email protected] 發送電子郵件,但 [email protected] 不是直接添加到gmail的“收件人”部分。當我在模擬器上運行它時,添加了電子郵件主題和電子郵件文本,但沒有添加收件人電子郵件,為什么?
uj5u.com熱心網友回復:
你離這里很近,唯一缺少的就是Intent.EXTRA_EMAIL額外的東西。該屬性需要一個值陣列String而不是單個String.
binding.navView.setNavigationItemSelectedListener {
when (it.itemId) {
R.id.requestWallpaper -> {
val emailIntent = Intent().apply {
action = Intent.ACTION_SEND
data = Uri.parse("mailto:")
type = "text/plain"
putExtra(Intent.EXTRA_EMAIL, arrayOf("[email protected]"))
putExtra(Intent.EXTRA_SUBJECT, "request wallpaper")
putExtra(Intent.EXTRA_TEXT, "request wallpaper")
}
if (emailIntent.resolveActivity(this.packageManager) != null) {
emailIntent.setPackage("com.google.android.gm")
startActivity(emailIntent)
} else {
Toast.makeText(
this@MainActivity,
"No app available to send email!!",
Toast.LENGTH_SHORT
).show()
}
}
}
}
我也不知道您是否需要該type="text/plain"財產,但它不應該傷害任何東西。此外,如果您跳過該setPackage步驟,它將允許作業系統詢問使用哪個電子郵件應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/484805.html
