此以下行向特定的Whats App联系人发送消息
"https://api.whatsapp.com/send?phone=" + phone + "&text=" + URLEncoder.encode(msg, "UTF-8");
参考:How can I send message to specific contact through WhatsApp from my android app?
但是上述网址需要电话号码和国家/地区代码。我需要发送消息到没有用国家代码保存的电话号码。如何做任何想法?
我的意思是,您绝对需要以某种方式知道国家/地区代码。如果不存在,您也许可以从电话上获取它(例如,阅读此answer)。然后一旦有了它,您只需写
phone="+"+foundCountryCode+phone;
但是在执行此操作之前,您需要检查电话是否为nr。由于某些用户联系人可能来自其他国家(我们生活在全球化的世界中),因此尚没有国家/地区代码,因此只需检查电话字符串是否以“ +”或“ 00”开头,并仅在上述情况下进行调整没有。
我做了以下事情
public static String depuratePhone(String rawPhone){
String phone=rawPhone.replace(" ","").replace("+","00").replace("-","");
String depPhone=null;
if (phone.length()>2){
if (phone.substring(0,2).contentEquals("00")){
depPhone=phone;
}else{
depPhone="00"+your_current_country_code+phone;
}
}
return depPhone;
}
为了惊人地获得您自己的电话国家/地区代码,您似乎总是必须创建自己的国家/地区代码database,因为从电话中获得的所有内容都是您国家/地区的2个字母字符串代码。我也很惊讶没有办法直接从电话中获取此信息。太神奇了,我想知道这样做的理由是什么。
怪异的TelephonyManager甚至允许您获得自己的电话号码,如果您授予了它大量的权限,而不是简单的国家代码。