2011-11-23 2 views
3

Android 2.2에서 Apps를 프로그래밍하고 있습니다. 나는 안드로이드에 내 전화 번호를 얻기 위해 시도했지만 할 수는 없습니다 ... 으로 아래의이 내 GET 전화 번호에 대한 코드입니다 (앱에 대한 장치 - 삼성 갤럭시 플러스)Android 2.2에서 내 전화 번호를 가져 오는 방법

public static String getMyPhoneNumber(Context aContext){ 
    TelephonyManager mTelephonyMgr; 
    mTelephonyMgr = (TelephonyManager) aContext 
      .getSystemService(Context.TELEPHONY_SERVICE); 
    return mTelephonyMgr.getLine1Number(); 
} 

String phone = getMyPhoneNumber(getApplicationContext());// return "" in here 

나는를 추가 한 AndroidManifest.xml에 에서 "android.permission.READ_PHONE_STATE의"하지만 앱을 실행할 때, 전화는

나는 내가 얻을 수 있지만 "g etSimSerialNumber(), getSimOperatorName(),getSimOperator()을 ..."확인하다, 왜 모르겠어요 ... 비어 !

"getLine1Number()"메서드는 항상 ""값을 반환합니다. 알고 계시다면 저를 도와주세요!

+0

기기의 설정> 휴대 전화> 상태> 내 전화 번호 ..에서 전화 번호를 볼 수 있습니까? 안드로이드 운영 체제는 사용자의 전화 번호를 알지 못하므로 사용자에게 제공 할 수 없습니다. 덕분에 – Joe

+0

! 나는 그것을 시도 할 것이다 – Tama

+0

http://stackoverflow.com/questions/10465835/how-to-obtain-phone-number-in-android이 스레드를 확인하십시오 – MKJParekh

답변

0

휴대 전화의 IMSI 인 getSubscriberId()를 사용해보십시오.

+0

나는 그것을 고쳤다 :) ... 고마워 모두 – Tama

+5

당신이 당신의 문제를 고쳤습니다. 그러나 당신의 질문은 "연락 할 권리가 없다"는 것을 의미하는 전화 번호를 얻는 것이 었습니다. !! 그리고 대답은 IMSI를 제안합니다. 그래서 나는 전화 번호에서 IMSI에 당신의 질문을 편집 할 것을 제안 할 것입니다. – MKJParekh

1

숫자가 Settings->About phone->State->Phone number에 표시되는지 확인하십시오. 숫자를 확인할 수 없으면 확인하십시오.

모바일 SIM에 기록 될 때까지 전화 번호가 표시되지 않으므로 SIM을 변경하려고 시도하십시오. 그러면 SIM 번호를 변경할 때 전화 번호가 그 위에 쓰여 있으면 전화 번호가 표시됩니다.

+0

내가 다른 SIM 카드로 바꿀 때, 나는 전화 번호가 맞다. SIM 유형이 다른 이유는 무엇입니까? – Tama

0

휴대 전화에서 + 92xxxxxx, + 42xxxxxxx, + 1xxxxxx와 같이 SIM 카드가 삽입 된 휴대 전화 번호를 받으려면이 코드를 입력하고 앱에이 코드를 복사하면됩니다.

TelephonyManager phn_mngr = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); 
String PhnNo= phn_mngr.getLine1Number(); 
관련 문제