android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改

时间:2025-01-18 12:32:50

请修改文件
/alps/frameworks/ex/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java

private static Cursor queryAddressData(Context context, ArrayList<String> addressesList,  int addressType)

把这里:

                /// M: Support recognizing two kinds of separator. @{

                char[] seperatorArr = {',', ';'};

                int indexOfSeparator = -1;

                int cnt = 0;

                while ((indexOfSeparator == -1) && (cnt <= seperatorArr.length)) {

                    indexOfSeparator = phoneStr.indexOf(seperatorArr[cnt]);

                    cnt++;

                }

                if (indexOfSeparator != -1) {

                    phoneStr = phoneStr.substring(0, indexOfSeparator); /// M: Get string before separator

                } else {

                    continue;

                }

改成:

                /// M: Support recognizing two kinds of separator. Remove comma and semicolon at the end of address if exists. @{

phoneStr = phoneStr.replaceAll("([, ]+$)|([; ]+$)","");