获取手机号码

大家好,请问一下,在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();

你好,谢谢。 请问一下,如果取本机的号码,怎么取。 这样取的是整个电话本。

参考这篇文章:http://macleo.iteye.com/blog/1608311

谢谢兄弟,你给的很详细,我尝试一下,非常感谢。