【问题标题】:Open WhatsApp chat window to a specific number without passing a message using kotlin在不使用 kotlin 传递消息的情况下打开 WhatsApp 聊天窗口到特定号码
【发布时间】:2020-01-04 04:54:48
【问题描述】:

我需要将 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)

【问题讨论】:

标签: android android-intent kotlin message whatsapp


【解决方案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
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多