我创建了一个班级来查找联系人中的电话号码。
看起来像这样:
@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 :(得分:0)
这只是一个建议。如果您想从设备获取联系人姓名和详细信息,则表示tou可以执行以下操作。
但是您需要将电话号码存储在SIM卡上,而且没有办法获取您自己的号码。
使用电话管理器从SIM卡中读取电话号码。
TelephonyManager tm =(TelephonyManager)this.getApplicationContext()。getSystemService(Context.TELEPHONY_SERVICE); String myPhoneNumber = tm.getLine1Number();
您正在阅读手机中的所有电话号码。所以比较一下,得到其他细节。