Om 按钮单击,我正在显示联系人选择器框。我从哪里选择任何联系人。然后显示联系人的电话号码。
但问题是,有时我在选择联系人后看不到电话号码。我不知道原因,但我想这是因为选择器同时显示了 facebook、watsapp 联系人。
如何仅过滤要在选择器中显示的电话和 SIM 卡联系人?
我正在创建选择器,例如:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
startActivityForResult(intent, 1);
交出并显示如下号码:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
Uri uri = data.getData();
if (uri != null) {
Cursor c = null;
try {
c = getContentResolver().query(uri, new String[]{
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.TYPE },
null, null, null);
if (c != null && c.moveToFirst()) {
String number = c.getString(0);
int type = c.getInt(1);
showSelectedNumber(type, number);
}
} finally {
if (c != null) {
c.close();
}
}
}
}
}
public void showSelectedNumber(int type, String number) {
Toast.makeText(this, type + ": " + number, Toast.LENGTH_LONG).show();
}
有人能帮我一下吗。所以每当我选择一个联系人时,它必须显示号码?提前谢谢