【问题标题】:Send message body and phone number to Viber将消息正文和电话号码发送到 Viber
【发布时间】:2017-11-17 13:14:39
【问题描述】:

我尝试在我的应用程序中获取消息和电话号码,然后向该号码发送消息,我想通过 Viber 应用程序发送此消息。我可以使用此代码发送消息:

     Intent intent = new Intent(Intent.ACTION_SEND);    
     intent.setType("text/plain"); 
     intent.putExtra(android.content.Intent.EXTRA_TEXT, "test test test"); 
     intent.setpackage("com.viber.voip");
     startActivity(intent);

如何将电话号码发送到 Viber?

【问题讨论】:

标签: android android-intent message contact viber


【解决方案1】:

使用 Intents 向 Viber 发送消息有两种方式。

选项 A - 遗憾的是不会填写 sms_body。但会直接打开与特定联系人的对话:

Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.addCategory(Intent.CATEGORY_DEFAULT);
smsIntent.setPackage("com.viber.voip");
smsIntent.setData(Uri.parse("sms:+1001002003"));
smsIntent.putExtra("address", "+1001002003");
smsIntent.putExtra("sms_body", "body  text");
startActivity(smsIntent);

选项 B - 将为您提供一个选项,哪个用户应该收到消息:

Intent i = new Intent(Intent.ACTION_SEND);
i.setPackage("com.viber.voip");
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, "Message body");

【讨论】:

  • 我需要选项 A,但它不适合我。它只是打开 viber 的主要活动!
【解决方案2】:
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setData(Uri.parse("smsto:"));
        smsIntent.setType("vnd.android-dir/mms-sms");
        smsIntent.putExtra("address", phoneNumber);
        smsIntent.putExtra("sms_body", "body  text"); 
        startActivity(smsIntent);   

phoneNumber - is to whoom you want to send the message.

【讨论】:

  • 这会崩溃:ActivityNotFoundException
  • 表示设备没有任何意图启动当前指定的意图。所以,请检查条件 (smsIntent.resolveActivity(mPackageManager) != null) 以便我们可以向用户显示任何消息
  • 但是viber已经安装了,为什么不能用呢?
猜你喜欢
  • 2016-04-15
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 2018-09-02
  • 1970-01-01
相关资源
最近更新 更多