2013-05-20 4 views
0

네, 올바른 권한을 사용하고 있습니다 :안드로이드 장치에서 전화 번호를 받고

private String getDevicePhoneNumber() { 
    TelephonyManager mTelephonyMgr; 
    mTelephonyMgr = (TelephonyManager) 
     getSystemService(Context.TELEPHONY_SERVICE); 
    return mTelephonyMgr.getLine1Number(); 
} 

전화 나에게 람다를 반환 : 빈 문자열 여기

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

그리고 것은 내 코드입니다.

누구든지이 권리를 얻는 방법을 알고 있습니까? Froyo (2.2) 이상에서 작동해야합니다.

+0

을 요청하는 것입니다. https://developer.android.com/reference/android/telephony/TelephonyManager.html#getLine1Number() – Karakuri

+0

올바른 방법을 알고 있습니까? –

+1

올바른 방법을 사용하고 있습니다. 전화 번호가 항상 반환되는 것은 아닙니다. – Karakuri

답변

2

실제로 문제가 있습니다. 항상 작동 할 해결책은 없습니다. 모든 SIM 카드에 저장되어 있지 않으며 이동 통신사 네트워크에서 항상 액세스 할 수 없습니다.

일부 국가에서는 실제 주소 확인이 필요할 수도 있습니다.

전화 번호 할당 지정은 네트워크에서 발생하며 SIM 카드 또는 기기를 변경하지 않고 변경할 수 있습니다 (예 : 이동 통신사에서 다른 이동 통신사로 이동할 때 이식이 지원되는 방식).

당신의 최선의 방법은이 방법이 항상 전화 번호를 반환하지 않을 수 있습니다 단지입니다, 당신이 잘못 아무것도되지 않은 들리는 것만큼 이상한 사용자 ..

관련 문제