2013-06-26 6 views
-3

내 앱에서 휴대 전화 번호를 가져오고 싶습니다. 그 전화 연락처 ContactsContract API에 의해 가져온 알아요.하지만 전화 연락처 세부 정보에없는 명백한 자체 모바일 번호를 가져올 것을 요구합니다.수입 휴대 전화 번호

+1

sim 전화 번호는 ContactsContract API를 통하지 않고 전화 통신 API를 통해 사용할 수 있습니다. –

답변

2

핸드셋 번호는 더 이상 일반적으로 전화 통신 API를 통해 사용할 수 없습니다. 설정에서 전화 번호 -> 상태 -> 상태에서 올바른 전화 번호를 볼 수 있으면 받으실 수 있습니다. 하지만 그렇지 않은 경우는 없습니다. Android 2.3, 4, 4.1 및 4.2를 실행하는 여러 대의 휴대 전화가 있으며 SIM 카드와 연결된 전화 번호는 표시되지 않습니다.

전화 번호를 가지고 있지 않으면 큰 두통이되어서는 안됩니다. 저는 SMS 애플리케이션을 몇 시간 동안 사용해 왔지만 몇 달 전에 핸드셋 번호를 알 필요가 전혀 없다는 결론에 도달했습니다.

핸드셋 번호가 필요한 경우 연락처 공급자를 사용하면 기기의 연락처 카드에 액세스 할 수 있습니다. 여기에 하나 이상의 휴대 전화 번호가 있거나 전혀 액세스 할 수 없습니다. 내 제안은이 경로를 사용하여 사용 가능한 번호를 얻은 다음 사용자에게 핸드셋 번호를 선택하도록 요청하고 "위의 항목 중 하나가 아닌 경우"번호를 입력 할 수있는 기회를 제공하는 것입니다.

전화 번호를 확인하려면 핸드셋에서 문자 메시지를 보내거나 문자 메시지 서비스를 사용하여 핸드셋에 메시지를 보낼 수 있습니다. (문자 메시지로 계정을 만들 때 전자 메일 주소를 확인하는 것과 조금 다릅니다. 웹 사이트).

+0

빠른 응답을 보내 주셔서 감사합니다. 내 앱에서 당신의 제안을 시도 할 것입니다. – DJhon

+0

항상이 경로를 종료하기 전에 사용자의 개인 정보를 고려하십시오. 귀하의 응용 프로그램은 사용자의 전화 번호가 필요한 아주 좋은 이유가 필요합니다. 이와 같은 IMHO 정보는 응용 프로그램의 중심에 있어야합니다. 응용 프로그램이 없으면 응용 프로그램이 작동하지 않거나 그렇지 않을 경우 상당 부분의 기능이 누락 될 수 있습니다. – Phil

3
TelephonyManager tMgr 
=(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); 
mPhoneNumber = tMgr.getLine1Number(); 

그러나 확신 할 수 없으므로 NULL을 확인하십시오.

+1

getLine1Number()는 휴대 전화에만 적용됩니다. 번호 휴대 기기에 설정된 MSISDN 번호 인 경우 설정 -> 휴대 전화 정보 -> -> -> MSISDN에서 확인할 수 있습니다. – ryderz8

+0

답변 해 주셔서 감사합니다. 나는 정말 기뻐요. – DJhon

관련 문제