2014-09-26 2 views
2

일반적인 문제 일 것으로 예상되지만 해결 방법을 찾는데 적합한 단어가 무엇인지 알 수 없습니다.형식 차이로 인해 전화 번호를 찾을 수 없습니다.

내 앱에서는 사용자가 번호를 입력 할 수 있으며 데이터베이스에 연락처가 있는지 검색해야합니다. 또한 연락처 ID와 번호가 주어지면 번호의 전화 레이블을 찾고 싶습니다.

"8710 2863"으로 전화 번호가 있고 쿼리 인수가 "87102863"이면 문제가 있습니다.

Cursor cursor = MyApp.getContext().getContentResolver().query(
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       new String[] { 
         ContactsContract.CommonDataKinds.Phone.TYPE, 
         ContactsContract.CommonDataKinds.Phone.LABEL 
       }, 
       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ? AND " 
         + ContactsContract.CommonDataKinds.Phone.NUMBER + " = ? ", 
       new String[] { Long.toString(contactId), number }, 
       ContactsContract.Data.IS_SUPER_PRIMARY + " DESC"); 

     if (cursor != null) { 
      try { 
       if (cursor.moveToFirst()) { 
        int type = cursor.getInt(0); 
        String label = cursor.getString(1); 
        String phoneLabel = (String) ContactsContract.CommonDataKinds.Phone 
          .getTypeLabel(MyApp.getContext().getResources(), type, label); 
        hashBuilder.put(Defs.ARG_PHONE_TYPE, phoneLabel); 
       } 
      } finally { 
       cursor.close(); 
      } 
     } 
: 나는 형식을 표준화 할 수있는 방법이 있어야합니다 ... 연락처와 전화 레이블을 얻을 수 없습니다 ..하지만 방법 :(여기

을 찾을 수없는 것은 내 코드입니다 ?

+1

당신이 봤어 PhoneNumberUtils.formatNumber(String)를 시도 ['PhoneNumberUtils.formatNumber (문자열)'] (HTTP : //developer.andr oid.com/reference/android/telephony/PhoneNumberUtils.html#formatNumber%28java.lang.String%29)? – Barend

+0

@Barend는 마법입니다. PhoneNumberUtil.format은 PhoneNumberUtils.formatNumber()뿐만 아니라 작동하지 않습니다. 답을 남겨 주시면 받아 들일 것입니다. – xialin

+0

도와 드리겠습니다 :). – Barend

답변