我知道如何在Viber中打开与数字的对话:How to start Viber call from an Android app [new version]?但是我怎么打开一个公共聊天室呢?有什么想法吗?先谢了
sulc1iza1#
这个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"))) } }
9ceoxa922#
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) ) ); } } }
sd2nnvve3#
我使用com.google.i18n.phonenumbers.PhoneNumber作为传递给它的模型,但功能是相同的。对于Viber,您需要将countryCode和nationalNumber作为String格式,然后将其传递到Uri,并使用Viber指定的Intent URI。然后,您只需启动Intent。
com.google.i18n.phonenumbers.PhoneNumber
Uri
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) }
ni65a41a4#
要打开Viber公共聊天,您需要使用完整联系人的电话号码,并将char**+更改为%2B**。例如:+972526461150-是包含国家/地区代码和地区的完整电话号码%2B972526461150-这是Viber的电话号码应该是这样的。代码:
private void sendViaViber() { String textMessage = "Hello my friend. How are you?"; String phoneNumber = "%2B972526461150" String url = "viber://chat?number=" + phoneNumber + "&draft=" + textMessage; startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); }
4条答案
按热度按时间sulc1iza1#
这个Kotlin代码对我来说很好用
9ceoxa922#
Java代码
sd2nnvve3#
我使用
com.google.i18n.phonenumbers.PhoneNumber
作为传递给它的模型,但功能是相同的。对于Viber,您需要将countryCode和nationalNumber作为String格式,然后将其传递到
Uri
,并使用Viber指定的Intent URI。然后,您只需启动Intent。
ni65a41a4#
要打开Viber公共聊天,您需要使用完整联系人的电话号码,并将char**+更改为%2B**。
例如:
+972526461150-是包含国家/地区代码和地区的完整电话号码
%2B972526461150-这是Viber的电话号码应该是这样的。
代码: