PhoneNumberUtils.java 文件(frameworks\base\telephony\java\android\telephony)
/**
* isEmergencyNumber: checks a given number against the list of
* emergency numbers provided by the RIL and SIM card.
*
* @param number the number to look up.
* @return if the number is in the list of emergency numbers
* listed in the ril / sim, then return true, otherwise false.
*/
public static boolean isEmergencyNumber(String number) {
// If the number passed in is null, just return false:
if (number == null) return false;
// Strip the separators from the number before comparing it
// to the list.
number = extractNetworkPortionAlt(number);
// retrieve the list of emergency numbers
// check read-write ecclist property first
String numbers = SystemProperties.get("ril.ecclist");
if (TextUtils.isEmpty(numbers)) {
// then read-only ecclist property since old RIL only uses this
numbers = SystemProperties.get("ro.ril.ecclist");
}
if (!TextUtils.isEmpty(numbers)) {
// searches through the comma-separated list for a match,
// return true if one is found.
for (String emergencyNum : numbers.split(",")) {
if (number.startsWith(emergencyNum)) {
return true;
}
}
// no matches found against the list!
return false;
}
//no ecclist system property, so use our own list.
return
(number.startsWith("112") || number.startsWith("911"));
}