大家好我正在编写一个呼叫阻止应用程序。我的问题是我无法将传入的电话号码与联系人列表进行比较,因为联系人列表中的电话号码格式不正确。
例如:
这是我访问联系人列表的方式:
return new CursorLoader(
getActivity(), // Parent activity context
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, // Table to query
new String[]{
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
}, // Projection to return
null,
null, // No selection arguments
null // Default sort order
...
String phoneNumber = data.getString(data.getColumnIndex(loader.getId() == LOAD_CONTACTS_CURSOR ? ContactsContract.CommonDataKinds.Phone.NUMBER : CallLog.Calls.NUMBER));
);
这是我访问来电的方式:
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {
final Strng incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER));
}
}
如何获取本地区号而非国家/地区代码。所以我可以将收到的号码与联系人列表中的号码进行比较?
最好的问候。