2011-01-25 7 views
4

나는 전화 번호를 얻고 싶다. 나는안드로이드에서 전화 번호를 얻는 방법

TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
String strphonenumber = tm.getLine1Number(); 

이 샘플 코드를 ... 사용 그리고 나는 가능 허가 READ_PHONE_STATE을 사용했다.

그러나 null이 반환됩니다.

+0

어떤 장치를 실행하고 있습니까? –

답변

4

번호는 CDMA 장치에서만 가져올 수 있습니다.

public String returnNumber() { 
    String number = null; 
    String service = Context.TELEPHONY_SERVICE; 
    TelephonyManager tel_manager = (TelephonyManager) getSystemService(service); 
    int device_type = tel_manager.getPhoneType(); 

    switch (device_type) { 
      case (TelephonyManager.PHONE_TYPE_CDMA): 
       number = tel_manager.getLine1Number(); 
      break; 
      default: 
      //return something else 
      number = "no number"; 
      break; 
    } 
    return number; 
} 
+0

감사합니다 .. 어쨌든 GSM 번호를 얻으려면 ..? 거기에 알려 주시기 바랍니다 .. –

+0

뭔가 독특한 경우 당신은 왜 IM을 위해 GSM 반환됩니다 getDeviceId()를 사용해보십시오 왜 필요합니다. GSM 번호를 가지고 있다면 매우 스케치하고 신뢰할 수 없습니다. –

+0

예.하지만 전화 번호를 얻는 방법을 봅니다. –

관련 문제