前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
怎么去掉联系人、通话记录、拨号列表界面中的电话号码中间的空格?
去掉空格也就是去掉号码格式化,对所有的号码串将不进行号码格式化。
1. 注解掉格式化处理
FILE: PhoneNumberFormatter.java
PATH: alps/packages/apps/contacts/src/com/android/contacts/Util
---------------------------------------------------------------------------------------------------------------------------
public static final void setPhoneNumberFormattingTextWatcher(Context context,
TextView textView, Handler handler) {
// Deleted
// new TextWatcherLoadAsyncTask(ContactsUtils.getCurrentCountryIso(context), textView, handler)
// .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null);
// End
}
FILE: PhoneNumberFormatter.java
PATH: alps/packages/apps/contacts/src/com/android/contacts/Util
---------------------------------------------------------------------------------------------------------------------------
public static final void setPhoneNumberFormattingTextWatcher(Context context,
TextView textView, Handler handler) {
// Deleted
// new TextWatcherLoadAsyncTask(ContactsUtils.getCurrentCountryIso(context), textView, handler)
// .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null);
// End
}
2. 注解调用Formater的一行代码
FILE: PhoneNumberFormattingTextWatcher.java
PATH: alps/frameworks/base/telephony/java/android/Telephony
---------------------------------------------------------------------------------------------------------------------------
public PhoneNumberFormattingTextWatcher(String countryCode) {
/** M: Get test mode from SystemProperties, mtk04070, 2012.02.06 */
getTestMode();
if (countryCode == null) throw new IllegalArgumentException();
// mFormatter = PhoneNumberUtil.getInstance().getAsYouTypeFormatter(countryCode);
}
FILE: PhoneNumberFormattingTextWatcher.java
PATH: alps/frameworks/base/telephony/java/android/Telephony
---------------------------------------------------------------------------------------------------------------------------
public PhoneNumberFormattingTextWatcher(String countryCode) {
/** M: Get test mode from SystemProperties, mtk04070, 2012.02.06 */
getTestMode();
if (countryCode == null) throw new IllegalArgumentException();
// mFormatter = PhoneNumberUtil.getInstance().getAsYouTypeFormatter(countryCode);
}
3. 修改formatNumber方法直接返回原始号码,不会其进行格式化
FILE: PhoneNumberUtils.java
PATH: alps/frameworks/base/telephony/java/android/Telephony
---------------------------------------------------------------------------------------------------------------------------
/**
* Format a phone number.
* <p>
* If the given number doesn‘t have the country code, the phone will be
* formatted to the default country‘s convention.
*
* @param phoneNumber
* the number to be formatted.
* @param defaultCountryIso
* the ISO 3166-1 two letters country code whose convention will
* be used if the given number doesn‘t have the country code.
* @return the formatted number, or null if the given number is not valid.
*
* @hide
*/
public static String formatNumber(String phoneNumber, String defaultCountryIso) {
PATH: alps/frameworks/base/telephony/java/android/Telephony
---------------------------------------------------------------------------------------------------------------------------
/**
* Format a phone number.
* <p>
* If the given number doesn‘t have the country code, the phone will be
* formatted to the default country‘s convention.
*
* @param phoneNumber
* the number to be formatted.
* @param defaultCountryIso
* the ISO 3166-1 two letters country code whose convention will
* be used if the given number doesn‘t have the country code.
* @return the formatted number, or null if the given number is not valid.
*
* @hide
*/
public static String formatNumber(String phoneNumber, String defaultCountryIso) {
// Before modified
// // Do not attempt to format numbers that start with a hash or star symbol.
// if (phoneNumber.startsWith("#") || phoneNumber.startsWith("*")) {
// return phoneNumber;
// }
// // Do not attempt to format numbers that start with a hash or star symbol.
// if (phoneNumber.startsWith("#") || phoneNumber.startsWith("*")) {
// return phoneNumber;
// }
// PhoneNumberUtil util = PhoneNumberUtil.getInstance();
// String result = null;
// try {
// PhoneNumber pn = util.parseAndKeepRawInput(phoneNumber, defaultCountryIso);
// result = util.formatInOriginalFormat(pn, defaultCountryIso);
// } catch (NumberParseException e) {
// }
// return result;
// String result = null;
// try {
// PhoneNumber pn = util.parseAndKeepRawInput(phoneNumber, defaultCountryIso);
// result = util.formatInOriginalFormat(pn, defaultCountryIso);
// } catch (NumberParseException e) {
// }
// return result;
// After modified
return phoneNumber; // Just return, don‘t format the phoneNumber
}
return phoneNumber; // Just return, don‘t format the phoneNumber
}
4. 去掉导入号码时的格式化处理代码
FILE: AbstractStartSIMService.java
PATH: alps/packages/apps/contacts/src/com/mediatek/contacts/Simcontact
PATH: alps/packages/apps/contacts/src/com/mediatek/contacts/Simcontact
(1) 去掉 actuallyImportOneSimContact() 方法中对 phoneNumber 的格式化处理代码 :
---------------------------------------------------------------------------------------------------------------------------
/*
* Bug Fix by Mediatek Begin. Original Android‘s code: xxx
* CR ID: ALPS00289127 Descriptions:
*/
Log.i(TAG, "[actuallyImportOneSimContact] phoneNumber before : " + phoneNumber);
// AsYouTypeFormatter mFormatter = PhoneNumberUtil.getInstance()
// .getAsYouTypeFormatter(countryCode);
// char[] cha = phoneNumber.toCharArray();
// int ii = cha.length;
// for (int num = 0; num < ii; num++) {
// phoneNumber = mFormatter.inputDigit(cha[num]);
// }
Log.i(TAG, "[actuallyImportOneSimContact] phoneNumber after : " + phoneNumber);
/*
* Bug Fix by Mediatek End.
*/
---------------------------------------------------------------------------------------------------------------------------
/*
* Bug Fix by Mediatek Begin. Original Android‘s code: xxx
* CR ID: ALPS00289127 Descriptions:
*/
Log.i(TAG, "[actuallyImportOneSimContact] phoneNumber before : " + phoneNumber);
// AsYouTypeFormatter mFormatter = PhoneNumberUtil.getInstance()
// .getAsYouTypeFormatter(countryCode);
// char[] cha = phoneNumber.toCharArray();
// int ii = cha.length;
// for (int num = 0; num < ii; num++) {
// phoneNumber = mFormatter.inputDigit(cha[num]);
// }
Log.i(TAG, "[actuallyImportOneSimContact] phoneNumber after : " + phoneNumber);
/*
* Bug Fix by Mediatek End.
*/
(2) 去掉 actuallyImportOneSimContact() 方法中对 additionalNumber 的格式化处理代码:
---------------------------------------------------------------------------------------------------------------------------
/*
* Bug Fix by Mediatek Begin. Original Android‘s code:
* xxx CR ID: ALPS00289127 Descriptions:
*/
Log.i(TAG, "[actuallyImportOneSimContact] additionalNumber before : "
+ additionalNumber);
// AsYouTypeFormatter mFormatter = PhoneNumberUtil.getInstance()
// .getAsYouTypeFormatter(countryCode);
// char[] cha = additionalNumber.toCharArray();
// int ii = cha.length;
// for (int num = 0; num < ii; num++) {
// additionalNumber = mFormatter.inputDigit(cha[num]);
// }
Log.i(TAG, "[actuallyImportOneSimContact] additionalNumber after : "
+ additionalNumber);
/*
* Bug Fix by Mediatek End.
*/
---------------------------------------------------------------------------------------------------------------------------
/*
* Bug Fix by Mediatek Begin. Original Android‘s code:
* xxx CR ID: ALPS00289127 Descriptions:
*/
Log.i(TAG, "[actuallyImportOneSimContact] additionalNumber before : "
+ additionalNumber);
// AsYouTypeFormatter mFormatter = PhoneNumberUtil.getInstance()
// .getAsYouTypeFormatter(countryCode);
// char[] cha = additionalNumber.toCharArray();
// int ii = cha.length;
// for (int num = 0; num < ii; num++) {
// additionalNumber = mFormatter.inputDigit(cha[num]);
// }
Log.i(TAG, "[actuallyImportOneSimContact] additionalNumber after : "
+ additionalNumber);
/*
* Bug Fix by Mediatek End.
*/
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------