我正在尝试从我的Android应用程序向Whatsapp发送短信到特定联系人。当我使用下面的代码时,我成功发送消息并且必须手动接收联系人,或者如果打开特定号码聊天窗口,但消息是空白的。那么可以用一个意图做两件事吗?这是我的代码:
我可以与WhatsApp分享信息,但联系我必须手动选择:
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.setPackage("com.whatsapp");
i.putExtra(Intent.EXTRA_TEXT, "Hello World");
try {
activity.startActivity(i);
} catch (Exception e) {
e.printStackTrace();
}
wats app窗口中的特定号码打开,但消息为空白:
Uri uri = Uri.parse("smsto:" + number);
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra("sms_body", "smsText");
i.setPackage("com.whatsapp");
activity.startActivity(i);
答案 0 :(得分:0)
以下代码可以帮助您:
String strMessageToShare=YourEditText.getText().tostring();
final Intent myIntent = new Intent(
android.content.Intent.ACTION_SEND_MULTIPLE);
myIntent.setType("text/plain");
myIntent.putExtra(android.content.Intent.EXTRA_TEXT,
new String[]{strMessageToShare});
YourActivity.this.startActivityForResult(Intent
.createChooser(myIntent, "Sharing message..."), 1);
答案 1 :(得分:0)
这对我有用。
whatsapp应用程序无法读取参数'body',而是使用'Intent.EXTRA_TEXT'。
通过设置'phoneNumber',您可以指定要在whatsapp中打开的联系人。
Intent sendIntent = new Intent(Intent.ACTION_SENDTO,
Uri.parse("smsto:" + "" + phoneNumber + "?body=" + encodedMessage));
sendIntent.putExtra(Intent.EXTRA_TEXT, message);
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);