先看清空常用联系人菜单 出现条件:
设置星标的资源为 menu_star
设置星标发送的命令是:
10-16 10:25:05.915 20350 20476 E ContactSaveService: contactURI:content://com.android.contacts/contacts/lookup/0r22-353B294D4D/22 values:starred=false
10-16 10:25:07.092 20350 20481 E ContactSaveService: contactURI:content://com.android.contacts/contacts/lookup/0r22-353B294D4D/22 values:starred=true
OldspeedDial 列表查询发送命令的服务提供方为packages/provider/contacts/provider,可以通过这个文件学习SQL语句。
建立一个自己的contentProvider如下:
Android 如何自定义一个ContentProvider - 小王君的专栏
https://blog.csdn.net/pihailailou/article/details/78236136
Android开发之内容提供者——创建自己的ContentProvider(详解)
https://blog.csdn.net/qfanmingyiq/article/details/79252942
此查询返回的star和frenquent 联系人的联合查询。SaveNumFreqentsFromStar() 返回值是cursor的数据个数,减去star的个数。所以一旦某个常用联系人被星标了,常用联系人的个数实际上减去星标个数。所以如果所有常用联系人都星标了,那么返回的常用联系人个数就为0了。