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();
}
誰でもここで私を助けることができます。連絡先を選択するたびに、番号を表示する必要がありますか? 事前の感謝