Android - 在尝试发送whatsapp消息时收到错误“没有应用程序可以执行此操作”?

时间:2015-05-04 18:11:05

标签: java android

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

这是我的代码: -

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();
   }
}

请帮忙。

1 个答案:

答案 0 :(得分: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并不支持这种分享。正如您在WhatsApp FAQ中所看到的那样,Intent支持的唯一支持是ACTION_SEND

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);