gpt4 book ai didi

Android - 在电话上接收联系人更改

转载 作者:行者123 更新时间:2023-11-29 02:10:01 24 4
gpt4 key购买 nike

是否可以在添加、删除或修改电话联系人时通知广播接收器或服务?

我正在制作一个需要快速访问电话联系人的应用程序,因为我想通过 contactsContracts 访问一份 sqlite 电话联系人副本。

如果不行,有谁知道如何提高以下代码的响应速度,以查看电话联系人列表中是否有号码?

    public boolean isNumberInContacts(String Num){

try {
Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

while (cursor.moveToNext()) {
String colID = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

if (Integer.parseInt(hasPhone)==1) {

Cursor phone = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ colID,null, null);

for (int i=0;phone.moveToNext();i++){
if (Num.equals(mNumber.getNumber((phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)))))){
return true;
}
}
}
}
cursor.close();
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG, "Error when validate number in contacts: "+ e.toString());
}
return false;
}

谢谢

最佳答案

添加联系人时不广播。在联系人数据库中注册内容观察器以检查对其的更改。

关于Android - 在电话上接收联系人更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com