Android TelephonyManager, may not return the number in all cases. It may not return the number in case the Operator has not set it, You will have to create a verification scenario in which the you ask the user to enter a number, then send an SMS to verify it