【问题标题】:Android - getting an error “no application can perform this action” while trying to send a whatsapp message?Android - 在尝试发送 whatsapp 消息时收到错误“没有应用程序可以执行此操作”?
【发布时间】:2015-05-04 18:11:04
【问题描述】:

我正在通过制作一个应用程序来练习,用户可以在其中向特定的人发送 WhatsApp 消息。我尝试了一些我在互联网上找到的代码 sn-ps,但每当我尝试从实际设备发送 WhatsApp 消息时,我得到一个错误“没有应用程序可以执行此操作”。

这是我的代码:-

public void sendMessage(View v) {
   try
   {
    String whatsAppMessage = message.getText().toString();
    Uri uri = Uri.parse("smsto:" + "9888873438");
    Intent i = new Intent(Intent.ACTION_SENDTO, uri);
    i.putExtra(Intent.EXTRA_TEXT, whatsAppMessage);
    i.setType("text/plain");
    i.setPackage("com.whatsapp");
    startActivity(Intent.createChooser(i, ""));
   }catch (Exception e) {
    Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT).show();
   }
}

请帮忙。

【问题讨论】:

  • ...您安装了 WhatsApp 吗?
  • 是的,我已经安装了whatsapp。
  • 我通过发送电子邮件而不是短信来做了一些事情。通过可选附件,它不仅适用于电子邮件客户端,还适用于大量不同的应用程序,其中包括 Telegram(一个开源的 WhatsApp 克隆)。
  • 那么您认为这里可能有什么问题?
  • 尝试给出的答案。它可能会起作用。我的代码更通用一些。

标签: java android


【解决方案1】:

您收到没有应用程序可以执行此操作,因为您应该从代码中删除 i.setType("text/plain");

String whatsAppMessage = message.getText().toString();
Uri uri = Uri.parse("smsto:" + "9888873438");
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra(Intent.EXTRA_TEXT, whatsAppMessage);
i.setPackage("com.whatsapp");
startActivity(Intent.createChooser(i, ""));

不幸的是,您可以看到 WhatsApp 现在在对话活动中打开,但没有您在 Intent 中设置的文本。这是因为 WhatsApp 不支持这种分享。唯一受支持的 Intent 共享是 ACTION_SEND,您可以在 WhatsApp FAQ 中看到:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);

【讨论】:

  • 我在删除 i.setType("text/plain"); 后尝试过但仍然出现相同的弹出窗口,说没有“应用程序可以执行此操作”。请明确说明是否可以通过这种方式发送消息。关于常见问题解答,我已经知道了。
  • 不,不可能直接向特定的人发送消息。您需要使用 WhatsApp 常见问题解答中说明的解决方案,并让用户选择联系人。
  • 你能解释一下这个原因吗?
  • 没有任何理由,这是 WhatsApp 开发者的决定。
  • 有没有其他方法可以向whatsapp发送消息?
猜你喜欢
  • 1970-01-01
  • 2014-12-06
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 2019-11-22
相关资源
最近更新 更多