7

我知道如何在 Viber 中打开与号码的对话: 如何从 Android 应用程序开始 Viber 通话 [新版本]?

但是如何打开公共聊天?有任何想法吗?

提前致谢

4

3 回答 3

1

这个 Kotlin 代码对我来说很好用

        val viberPackageName = "com.viber.voip"
        val phone= "5757575757"

        try {
            activity?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("viber://add?number=$phone")))
        } catch (ex: ActivityNotFoundException) {
            try {
                activity?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$viberPackageName")))
            } catch (ex: ActivityNotFoundException) {
                activity?.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=$viberPackageName")))
            }
        }
于 2018-07-30T13:38:52.150 回答
1

Java 代码

  public void addViberNumber(Context context,String phone) {
    String viberPackageName = "com.viber.voip";

    try {
        context.startActivity(new
                        Intent(Intent.ACTION_VIEW,
                        Uri.parse("viber://add?number="+phone)
                )
        );
    } catch (ActivityNotFoundException ex) {
        try {
            context.startActivity
                    (new Intent(Intent.ACTION_VIEW,
                            Uri.parse("market://details?id=+" + viberPackageName))
                    );
        } catch (ActivityNotFoundException exe) {
            context.startActivity(new Intent(Intent.ACTION_VIEW,
                            Uri.parse("https://play.google.com/store/apps/details?id=" + viberPackageName)
                    )
            );
        }
    }
}
于 2018-08-11T10:19:35.203 回答
0

我使用com.google.i18n.phonenumbers.PhoneNumber它作为我通过它的模型,但功能是相同的。

对于 Viber,您需要将 countryCode 和 nationalNumber 作为字符串格式,然后将其传递给Uri, 使用 Viber 指定的 Intent URI。

然后,您只需启动 Intent。

private fun launchViberChat(phoneNumber: Phonenumber.PhoneNumber) {
    val formatString = "${phoneNumber.countryCode}${phoneNumber.nationalNumber}"
    val intent = Intent(
        Intent.ACTION_VIEW,
        Uri.parse("viber://add?number=$formatString")
    ).apply {
        setPackage("com.viber.voip")
    }
    startActivity(intent)
}
于 2020-04-15T03:51:10.740 回答