2013-06-24 2 views
2

들어오는 호출의 네트워크 및 SIM 운영자를 찾으려고하지만 찾을 수 없습니다. 코드에서 내 장치의 네트워크 및 SIM 운영자 만 찾습니다.안드로이드에서 수신 전화 번호로 작업하기

if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {         

     String phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); 
     name = phoneNumber; 

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

     String networkOperator = telephonyManager.getNetworkOperatorName(); 

     String simOperator = telephonyManager.getSimOperatorName(); 

     Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); 


     Cursor cursor = context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null,null,null); 
     if (cursor.moveToFirst()) 
     { 
      name = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME)); 

     } 

어떤 도움을 환영합니다 :

여기 내 코드입니다.

+0

또한 다음에 stackoverflow에 질문을 게시하기 전에 Google 조사를 진행하십시오. –

답변

0

안드로이드가에 대한 API 제공하지 않는 한 당신은, 연산자를 얻을 수 없습니다에

이론적으로, 당신은, 수의 접두사를 얻고 모든 공급자의 목록에 비교할 수 있지만, 능력을 이전 접두사가있는 다른 제공 업체로 전화를 걸면 그 옵션을 망칠 수 있습니다.

+0

나는 이것이 OP가 무엇인지 생각하지 않는다. 그는 들어오는 호출에 대한 네트워크 SIM 연산자를 찾으려고합니다. 즉, 3, T-Mobile, Vodafone 등에서 오는 호출입니다. – Boardy

+0

실제로 수신 전화 번호를받을 수는 있지만 운영자 및 기타 관련 정보를 가져올 수 없습니다. – nehmintu

+0

죄송합니다. 정답을 추가했습니다. –

관련 문제