我需要将WhatsApp聊天窗口打开到特定号码,而无需在意图中传递消息
我尝试删除sendIntent.putExtra(Intent.EXTRA_TEXT, userText)
,但没有帮助,当我从应用程序发送时显示
“无法发送空消息”
这是完整的代码
val sendIntent = Intent("android.intent.action.MAIN")
sendIntent.action = Intent.ACTION_SEND
sendIntent.setPackage("com.whatsapp")
sendIntent.type = "text/plain"
sendIntent.putExtra("jid", number + "@s.whatsapp.net")
sendIntent.putExtra(Intent.EXTRA_TEXT, userText)
startActivity(sendIntent)
答案 0 :(得分:1)
您可以使用WhatsApp uri打开特定的WhatsApp聊天,而无需使用任何此类消息。 num
可以是任何有效数字,包括国家代码,例如 911234567890
private fun openWhatsApp(num: String) {
val isAppInstalled = appInstalledOrNot("com.whatsapp")
if (isAppInstalled) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://api.whatsapp.com/send?phone=$num"))
startActivity(intent)
} else {
// WhatsApp not installed show toast or dialog
}
}
要检查是否已安装WhatsApp,可以使用此方法
private fun appInstalledOrNot(uri: String): Boolean {
val pm = requireActivity().packageManager
return try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES)
true
} catch (e: PackageManager.NameNotFoundException) {
false
}
}