Android dial can match a contact for the first time. After the phone number is prefixed and the phone number is called, the contact cannot be matched.
1: Modify ContactsProvider2.java, queryDialerSearchIncrement ().
Before modification,
(1). + DialerSearchLookupColumns. CALL_LOG_ID + "> 0" + "AND" + ...... about L: 9226
(2). + DialerSearchLookupColumns. CALL_LOG_ID + "> 0" + "AND" + ...... about L: 9231
After modification,
(1). + DialerSearchLookupColumns. CALL_LOG_ID + "<-1" + "AND" + ...........
(2). + DialerSearchLookupColumns. CALL_LOG_ID + "<-1" + "AND" + ...........
2: Modify ContactsDatabaseHelper. java, createDialerSearchView ().
Before modification,
+ DialerSearchLookupColumns. CALL_LOG_ID + "> 0" ...... about L: 5862
After modification,
+ DialerSearchLookupColumns. CALL_LOG_ID + "<-1 "........
Purpose: The query result is subject to the dialer search table.
The problem can be solved in the first two steps.
3: Fuzzy search is also recommended.
In alps/mediatek/extertal/sqlite/custom/sqlite3_android_custom.cpp,
Before the change,
Extern void register_dialer_search_local_functions () {# ifdef CONFIG_CMCC_SUPPORT
Create_number_match_function (0, 1 );
Create_name_match_function (0, 2 );
# Endif
}