我正在开发一个具有登录活动的应用程序,当用户登录时,它会自动将联系人从手机保存到服务器。这是可行的,但我有一个问题,当我保存号码时,它们是以用户在手机中输入的格式保存的。例如,如果用户输入此号码:15555555,则将按此方式保存,但如果用户输入此号码时没有国家代码,则显示为:5555555,没有1,或任何其他国家代码,具体取决于国家。
我想要的是返回我所有的联系人,他们的国家代码,甚至那些用户已经输入没有国家代码。
Viber等一些应用程序可以识别其格式,因此如果它不是以1开头,或以05开头。。,它被识别并自动添加国家/地区代码,以便05。。变成15。。。
public void updateContacts() {
String[] PROJECTION = new String[]{
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PROJECTION, null, null, null);
HashMap<String, String> user = db.getUserDetails();
String userId = user.get("uid");
if (phones != null) {
while (phones.moveToNext()) {
if (phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER) != -1) {
final String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
Call<ContactsResponse> call = apiService.contactExists(phoneNumber, userId);
call.enqueue(new Callback<ContactsResponse>() {
@Override
public void onResponse(Call<ContactsResponse> call, retrofit2.Response<ContactsResponse> response) {
Log.e(TAG, "abc");
}
@Override
public void onFailure(Call<ContactsResponse> call, Throwable t) {
Log.e(TAG, t.toString());
}
});
}
}
}
if (phones != null) {
phones.close();
}
}
我正在使用libphonenumber,所以我想知道是否有一种方法可以使用它并获取国家代码,然后将其添加到没有它的数字中。
不可能。如果用户没有输入国家代码或区号,那么当调用该号码时,服务提供商将自动假设他们正在使用他们当前所在的国家代码/区号。如果您保存了518-222-2345,并且您在美国拨打了这个号码,服务提供商将在开头添加1。如果用户随后前往英国并尝试拨打相同的号码(联系人条目),服务提供商将在前面添加一个44代码。长话短说,您看到的数据是存储在设备上的所有数据,当特定数据(国家代码/地区代码)不存在时,服务提供商假设它们当前位置的代码。
我可以在Android系统中检测来电,但问题是我想知道那个电话号码的国家代码,这样我就可以分析它是国家号码还是国际号码。我知道libphonenumber,但它需要事先知道地区代码才能获得国家代码,如示例所示 它已经知道把作为参数。但是我们不知道这个数字是否为我们所知,那么我们如何分析这个数字。
问题内容: 我想从iOS 9上的CNContact获取国家代码和电话号码。我尝试了很多事情,但找不到方法。我获得的最佳结果是打印: 这是我的方法: 我想要的是countryCode和数字的值。有什么想法如何在Swift中访问它们吗?谢谢! 问题答案: 不幸的是,由于它们是私有的,您无法获得它们。 这行得通,但是如果您在此行中做某事, 您的应用很可能会被拒绝。 您可以在这里看到所有可以使用的好东西。
我有这样一个字符串:33123456789(法语电话号码)。我想在不知道国家的情况下提取国家代码(33)。例如,如果我有另一部来自另一个国家的手机,它应该可以工作。我使用谷歌图书馆https://code.google.com/p/libphonenumber/. 如果我知道国家,那很酷,我可以找到国家代码: 但是我找不到一种在不了解国家的情况下解析字符串的方法。
问题内容: 我已经找到了针对Objective-C的答案,但是林先生很难迅速做到这一点。 我用它来获取当前位置的国家代码: 但是,如何将该国家/地区代码转换为国家/地区名称,例如在此示例中,将“ US”转换为“ United States”? 问题答案: 迅捷3
我需要在UITextField中显示电话号码格式作为占位符。我怎么能那样做? 对于国家选择,我使用下面提到的库,它提供了针对用户选择的国家的国旗和国家代码。 https://github.com/NikKovIos/NKVPhonePicker 选择国家后,我需要显示所选国家的电话号码格式,提交该电话号码时,我必须验证电话号码。 我还发现,第三方(PhoneNumberKit)的灵感来源于谷歌的l
我的电话号码是字符串,如“91 96001 64500”(从google places API获取数据),我想提取电话号码(不带国家代码)以及国家代码,而不知道国家(国家可以是任何国家)。我怎样才能在弗利特做到这一点。 注意:已经有另一个完全相同的问题被问到,从电话号码[libphonenumber]中提取代码国家,但它是针对android的,我希望它是针对Flatter的。