簡體   English   中英

android如何開通Whatsapp業務

[英]how to open Whatsapp business in android

我正在使用此代碼從我的 android 應用程序中將文本共享到 whatsapp 中的特定號碼

private fun shareTextOnWhatsapp(message: String, phoneNumber: String) {
        val url = "https://api.whatsapp.com/send?phone=$phoneNumber"+"&text=" + URLEncoder.encode(message, "UTF-8")
        val i = Intent(Intent.ACTION_VIEW)
        i.data = Uri.parse(url)
        startActivity(i)
    }

它工作得很好。 但是我要做的是,如果用戶在他的手機中安裝了Whatsapp Business ,那么它應該打開whatsapp business而不是默認的whatsapp 任何幫助將不勝感激

這就是我能夠做到的方式

Whatsapp 商務 package

const val WHATSAPP_BUSINESS_PACKAGE_NAME = "com.whatsapp.w4b"

然后我檢查了是否安裝了whatsapp業務,然后相應地調用了幫助函數

            // if whatsapp business is installed
            if (isAppInstalled(WHATSAPP_BUSINESS_PACKAGE_NAME, this)) {
                shareTextOnWhatsappBusiness(shareText)
            } else { // share text to default whatsapp
                shareTextOnWhatsapp(shareText, order.user.mobile)
            }

這是從上面共享的代碼中調用的兩個函數

    private fun shareTextOnWhatsapp(message: String, phoneNumber: String) {
        val url = "https://api.whatsapp.com/send?phone=$phoneNumber"+"&text=" + URLEncoder.encode(message, "UTF-8")
        val i = Intent(Intent.ACTION_VIEW)
        i.data = Uri.parse(url)
        startActivity(i)
    }

    // tells if an app with specific packagename is installed or not
    fun isAppInstalled(packageName: String, context: Context): Boolean {
        return try {
            val packageManager = context.packageManager
            packageManager.getPackageInfo(packageName, 0)
            true
        } catch (e: PackageManager.NameNotFoundException) {
            false
        }
    }

請記住,如果您支持Android 11 ,那么packageManager.getPackageInfo(packageName, 0)將始終返回 false 您必須將其添加到manifest文件中

    <queries>
        <package android:name="com.whatsapp.w4b" />
    </queries>

正如官方文檔中提到的

Android 11 更改了應用程序如何查詢用戶已安裝在設備上的其他應用程序並與之交互

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM