2012-09-05 3 views
1

이것은 삼성의 4.0.4에서 얻을 수있는 전화 번호를 검색하는 다음 코드입니다.하지만 htc one v mobile..any 단점에 대한 오류는 점점 줄어 듭니다. 단서가 있습니까?전화 번호를 android에 저장하십시오.

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

TextView textDeviceID = (TextView)findViewById(R.id.deviceid); 


TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 

textDeviceID.setText(getMy10DigitPhoneNumber(telephonyManager)); 


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

private String getMy10DigitPhoneNumber(TelephonyManager telephonyManager){ 
String s = getMyPhoneNumber(); 
return s.substring(0); 
} 
} 
+1

게시물을 편집하고 오류 메시지를 기입하십시오. –

+1

전화 번호를 얻을 수있는 확실한 방법이 없습니다. 'getLine1Number()'는 SIM 카드에 저장된 전화 번호에 의존합니다. 일부 사업자는이 작업을 수행하고 일부 작업자는 수행하지 않습니다. 또한 사용자가 전화 번호를 변경하면'getLine1Number()'를 사용하여 SIM 카드에서 가져온 전화 번호가 잘못됩니다. StackOverflow에는 수십 개의 게시물이 있습니다. 예를 들어 http://stackoverflow.com/questions/5134398/telephonymanager-getline1number-failing/10255465#10255465 –

+0

을 참조하십시오. 감사합니다 david ..하지만 atleast는 null을 반환해야하지만 iam은 logcat에 오류 메시지가 표시됩니다. – hari86

답변

0
TelephonyManager mTelephonyMgr; 
mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
String mblNumber = mTelephonyMgr.getLine1Number(); 

참고 : 그나마 READ_PHONE_STATE 권한을 추가하는 것을 잊지는의 AndroidManifest.xml 파일 안에 추가 할 :

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

문서 .getLine1Number()에 따르면 "이 사용할 수없는 경우, 예를 들어, 1 행의 전화 번호 문자열을 반환 하는 GSM 휴대 전화의 MSISDN은. null을 돌려줍니다."분명히

.getLine1Number() 이것을 읽기 SIM 카드의 정보이므로 운영자가 MSISDN 필드를 설정하면 값을 반환하고이 필드를 설정하지 않으면 null을 반환합니다.

아마도 귀하의 SIM 카드에는 운영자가 입력 한이 입력란이 없을 수 있습니다.

+0

@ sayyam-is there any MSISDN 번호를 찾을 수있는 방법 여부를 설정하거나? .. 그리고 그 null.giving 오류를 반환하지 ... – hari86

+0

하시기 바랍니다 오류 메시지를 게시 할 수 있습니까? – Sayyam

+0

여기 iam에서 오류 로그를 게시 할 수 없습니다. 메일을 보내시겠습니까? – hari86

관련 문제