大家好,请问一下,在Android下,是怎么获取手机号码的?
按照网上说的方法,TelephonyManager.getLine1Number(), 获取不到手机号
Android下联系人手机号码是放在一个数据库的表中的,可以遍历数据表获得:
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
//向下移动光标
while(cursor.moveToNext())
{
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
//取得电话号码
String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
while(phone.moveToNext())
{
String Number = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
}
cursor.close();
你好,谢谢。 请问一下,如果取本机的号码,怎么取。 这样取的是整个电话本。
谢谢兄弟,你给的很详细,我尝试一下,非常感谢。