android11 特殊符号开头的联系人显示到“#”分组下面

Android11源码中特殊符号的联系人会被分组到“...”组里面,这和目前现有手机厂商联系人APP不一致,于是需要把特殊符号的联系人显示到“#”分组里面。这明显就需要改数据层面的代码,而Contacts对应的数据库,是在ContactsProvider里面,所以需要修改packages/providers/ContactsProvider模块,共需修改两处:

1.ContactsProvider2.java的getFastScrollingIndexExtras(),这里是从数据库取值的时候,直接把“...”替换成“#”

......
try {
            int numLabels = indexCursor.getCount();
            String labels[] = new String[numLabels];
            int counts[] = new int[numLabels];

            for (int i = 0; i < numLabels; i++) {
                indexCursor.moveToNext();
                labels[i] = indexCursor.getString(AddressBookIndexQuery.COLUMN_LABEL);
                counts[i] = indexCursor.getInt(AddressBookIndexQuery.COLUMN_COUNT);
				if(DEFAULT_SNIPPET_ARG_ELLIPSIS.equals(labels[i])){
					labels[i] = "#";
				}
            }

            return FastScrollingIndexCache.buildExtraBundle(labels, co
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低调的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值