TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number = tm.getLine1Number();
The documentation for
getLine1Number()
says this method will return null
if the number is "unavailable", but it does not say when the number might be unavailable.
You'll need to give your application permission to make this query by adding the following to your Manifest:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
(You shouldn't use
Example
Activity Class Look Like This
Class GetMyPhoneNoActivity
TelephonyManager.getDefault()
to get the TelephonyManager
as that is a private undocumented API call and may change in future.)Example
Activity Class Look Like This
Class GetMyPhoneNoActivity
package com.kns;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
public class GetMyPhoneNoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String number =getMyPhoneNO();
Toast.makeText(getApplicationContext(), "My Phone No is: "
+number, Toast.LENGTH_SHORT).show();
Log.v("Debug", number);
}
private String getMyPhoneNO(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager) getSystemService
(Context.TELEPHONY_SERVICE);
String yourNumber = mTelephonyMgr.getLine1Number();
return yourNumber;
}
}
Permission in Manifest File
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>