我想知道Android中的用户手机号码.我使用了这段代码,但我没有得到数字.
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String n = tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
允许:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Run Code Online (Sandbox Code Playgroud)
是否必须在android手机中保存号码 settings --> about phone --> status --> myphone number
有什么想法吗?
我必须创建一个应用程序,显示单元格中使用的SIM卡的联系号码.为此,我需要使用TelephonyManager课程.我可以获得它的用法细节吗?
我目前有一个提供电话号码的网页,其中一些电话号码有扩展名,所以我写了这样的HTML:
<a href="tel:+44-1234-567;ext=88">+44-1234-56788</a> / <a href="tel:+44-1234-567;ext=99">+44-1234-56799</a
Run Code Online (Sandbox Code Playgroud)
当我在Android浏览器中点击此页面并点击其中一个电话号码时,它会在我的电话拨号器(英国三星Galaxy s2库存)中加载:
+44-1234-567;ext=88
Run Code Online (Sandbox Code Playgroud)
我不认为是正确的.当然应该省略这个;ext=词.
我误读了RFC实现tel吗?
在这篇维基百科条目中,我发现国际电联电信标准化部门(ITU-T)正在提供国家呼叫代码列表.
这是一个pdf:http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.164D-2009-PDF-E.pdf
我想知道在xml文件或类似文件中哪里可以找到它?我需要在javascript和c#中查找电话号码来自哪个国家/地区.
我想获得Android设备的电话号码.我用这个代码:
TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber= tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在我的手机上(HTC Wildfire),我无法获得电话号码 - 我得到的只是空字符串.如果我在emulatur上运行代码,通常会显示电话号码.
如果我转到设置=>关于电话=>电话身份 - >电话号码,电话号码是"未知".
问题出在哪儿?我的SIM卡有问题吗?
使用Java将电话号码转换为国际格式(E.164)的最佳方法是什么?
鉴于"电话号码"和国家/地区ID(假设是ISO国家/地区代码),我想将其转换为标准的E.164国际格式电话号码.
我相信我可以很容易地手工完成 - 但我不确定它在所有情况下都能正常工作.
您建议使用哪个Java框架/库/实用程序来完成此任务?
PS"电话号码"可以是公众可识别的任何东西 - 例如
* (510) 786-0404
* 1-800-GOT-MILK
* +44-(0)800-7310658
Run Code Online (Sandbox Code Playgroud)
最后一个是我最喜欢的 - 这是有些人在英国写他们的号码并且意味着你要么使用+44,要么你应该使用0.
E.164格式编号应全部为数字,并使用完整的国际国家代码(例如+ 44)
使用java的正则表达式可用于过滤掉破折号' - '并从表示电话号码的字符串中打开紧密的圆括号...
所以(234)887-9999应该给2348879999,类似地234-887-9999应该给2348879999.
谢谢,
我试图将所有联系人电话号码保存在ArrayList中,但我无法找到方法.有没有办法让他们而不是用ContactsContract一个一个地挑选它们?
我正在尝试使用以下方法获取电话:
private String getMyPhoneNumber() {
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
//String imsi = mTelephonyMgr.getSubscriberId();
String phnNo = mTelephonyMgr.getLine1Number();
if (phnNo == null) {
phnNo = getNoFromWatsApp();
}
return phnNo;
}
private String getNoFromWatsApp(){
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
String phoneNumber = "";
for (Account ac : accounts) {
String acname = ac.name;
String actype = ac.type;
// Take your time to look at all available accounts
if(actype.equals("com.whatsapp")) {
phoneNumber = ac.name;
}
}
return phoneNumber;
}
Run Code Online (Sandbox Code Playgroud)
但每次我得到一个空电话号码.我甚至试图从WhatsApp获得电话号码,但它正在返回"WhatsApp"而不是电话号码.有没有其他方法可以解决这个问题?
我需要美国电话号码格式的常规快递.我想用JavaScript替换电话号码字符串到美国电话号码字符串格式.
var number = "4031234789";
Run Code Online (Sandbox Code Playgroud)
我想以下面的格式掩盖它: -
number = number.mask('(000) 000-0000');
Run Code Online (Sandbox Code Playgroud)
任何人都可以在JavaScript中向我展示正则表达式吗?
phone-number ×10
android ×5
java ×3
regex ×2
formatting ×1
html ×1
javascript ×1
mask ×1
mobile ×1
sim-card ×1
tel ×1
uri ×1
validation ×1