如何在泰国#组联系人列表中的联系人姓名分类?

来源:互联网 发布:网络优化工程师辛苦吗 编辑:程序博客网 时间:2024/04/16 23:45

联系人姓名开头的数字被放置在“#”默认情况下。如果你显示联系人的姓名泰国在底部并创建一个新的#修改如下

接触的名字显示在“#集团,包括接触的名字开始0~9,修改\ufff到\u0039

如果是JB

1. 在 ContactsDatabaseHelper.java (packages\providers\contactsprovider\src\com\android\providers\contacts)

函数 updateRawContactDisplayName, 

之前: 

bindString(mRawContactDisplayNameUpdate, 6, sortKeyPrimary);
bindString(mRawContactDisplayNameUpdate, 7, sortKeyAlternative)

添加:
     char a = sortKeyPrimary.charAt(0);
        if(  a >= '\u0E00' && a <= '\u0E7F' ) {
         sortKeyPrimary = '\uFFFF' + sortKeyPrimary;
        }
        a = sortKeyAlternative.charAt(0);
        if( a >= '\u0E00' && a <= '\u0E7F'  ) {
                sortKeyAlternative = '\uFFFF' + sortKeyAlternative;
        }

2.在PhonebookIndex.cpp (external\sqlite\android)

函数 GetPhonebookIndex,

After

Add:
     char a = sortKeyPrimary.charAt(0);
        if(  a >= '\u0E00' && a <= '\u0E7F' ) {
         sortKeyPrimary = '\uFFFF' + sortKeyPrimary;
        }
        a = sortKeyAlternative.charAt(0);
        if( a >= '\u0E00' && a <= '\u0E7F'  ) {
                sortKeyAlternative = '\uFFFF' + sortKeyAlternative;
        }

2. 在 PhonebookIndex.cpp (external\sqlite\android)

函数 GetPhonebookIndex,

之后:

UChar c = out[0]

添加:
  if(c == 0xffff){
      out[0] = '#';
      return 1;
  }
 

编译命令

mm external/sqlite/android, mm external/sqlite/dist, mm packages/providers/ContactsProvider

拷贝到手机: libsqlite.so 到system/lib 和ContactsProvider.apk 到 system/app,重新启动,添加联系人.

 

KK

在KK 版本,作为谷歌支持多种语言联系人泰国泰国字母顺序排列的

:

UChar c = out[0]

Add:
  if(c == 0xffff){
      out[0] = '#';
      return 1;
  }
 

编译命令

mm external/sqlite/android, mm external/sqlite/dist, mm packages/providers/ContactsProvider

拷贝到手机: libsqlite.so system/lib 和ContactsProvider.apk system/app,重新启动,添加联系人.

 




0 1