2015-11-17 3 views
1

Я создал класс, чтобы найти номер телефона в моем контакте.Определите мой собственный номер телефона, используя ContactsContract

Это выглядит следующим образом:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
     if(resultCode == RESULT_OK){ 
      if(requestCode == 1){ 
       Uri returnUri = data.getData(); 
       Cursor cursor = getContentResolver().query(returnUri, null,null,null, null); 

       if(cursor.moveToNext()){ 
        //get ID 
        int columnIndex_ID = cursor.getColumnIndex(ContactsContract.Contacts._ID); 
        String contactID = cursor.getString(columnIndex_ID); 
        //get name 
        String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
        name.setText(contactName); 

        int columnIndex_HASPHONENUMBER = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER); 
        String hasPhoneNumber = cursor.getString(columnIndex_HASPHONENUMBER); 

        if(hasPhoneNumber.equals("1")){ 
         Cursor cursorNum = getContentResolver().query(
           ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
           null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactID, 
           null, 
           null 
         ); 
         //get the first phone number 
         if(cursorNum.moveToNext()){ 
          int columnIndex_number = cursorNum.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); 
          String stringNumber = cursorNum.getString(columnIndex_number); 
          phoneNumber.setText(stringNumber); 
         } 
        }else{ 
         phoneReceiver.setText("No Phone Number"); 
        } 
       }else{ 
        Toast.makeText(ActivityPager.this,"No Data!", Toast.LENGTH_SHORT).show(); 
       } 
      } 
     } 
    } 

, но, на мой взгляд, мне нужно, чтобы получить в настоящее время номер телефона в настоящее время устройство, которое я использую.

Могу ли я получить его?

ответ

0

Это всего лишь предложение. Если вы хотите получить имя и данные контакта с устройства, значит, tou может сделать следующее.

Но вам нужно сохранить номер телефона на SIM-карте, и нет другого способа получить свой «собственный номер».

  1. Прочитайте номер телефона с SIM-карты с помощью диспетчера телефонов.

    TelephonyManager tm = (TelephonyManager) this.getApplicationContext(). GetSystemService (Context.TELEPHONY_SERVICE); Строка myPhoneNumber = tm.getLine1Number();

  2. Вы все телефонные номера со своего телефона. Поэтому сравните это и получите другую информацию.

Смежные вопросы