尝试了stackoverflow上的所有内容,现在我可以使用msg frwd了。但是在你实际点击否之前不会发送消息。来自whatsApp的联系清单..... Plz帮助被困在这里几天.... 事情是我正在尝试构建一个应用程序,当我给出一个数字时,应该使用whatsapp将msg发送给它。使用此代码时,msg正在被覆盖,当我选择一个数字时,它会向其发送预定义的消息。但是我希望msg应该直接发送而不用whatsApp等待用户点击数字..
//checks if whats app is installed or not..
private boolean whatsappInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
boolean app_installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
} catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
//Main Process
boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp");
if (isWhatsappInstalled) {
String a="91*********0";// the nuber to which msg is to be sent
Uri uri = Uri.parse("smsto:" + a);
Intent sendIntent = new Intent(Intent.ACTION_SEND, uri);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Test message"+a);//msg to be sent
//sendIntent.putExtra("sms_body", "ydyeryyerf");
sendIntent.setType("text/plain");// type of msg->text
sendIntent.putExtra("chat",true);
sendIntent.setPackage("com.whatsapp");// picks whats app
// startActivity(sendIntent);
startActivity(Intent.createChooser(sendIntent, a));//starts whats app
} else {
// should redriect to play store to download whatsApp
Toast.makeText(getApplicationContext(), "WhatsApp not Installed",
Toast.LENGTH_SHORT).show();
Uri uri = Uri.parse("market://details?id=com.whatsapp");
Intent playStore = new Intent(Intent.ACTION_VIEW, uri);
startActivity(playStore);
}
答案 0 :(得分:1)
而不是使用Uri uri = Uri.parse("smsto:" + a);
使用sendIntent.putExtra("jid", + number + "@s.whatsapp.net")
"数"应该是没有前导+
答案 1 :(得分:0)
简短回答:这可能不。 除非您为whatsapp api构建自己的实现,否则您无法执行此操作,在这种情况下,您将需要发件人电话号码和密码,这不能用于实际操作。执行此操作的漫长步骤如下: 1 - 带上扎根手机并将发件人SIM卡放入 2 - 获取whatsapp存储密码的文件并获取密码 3 - 实现whatsapp迷你客户端,使用此用户名和密码发送您的消息。