@Override
public CharSequence format(CharSequence value, int index) {
value = PhoneNumberUtils.formatNumber(value.toString());
Map<String,Set<String>> metadata =
metadataForIndex == null || metadataForIndex.size() <= index ? null : metadataForIndex.get(index);
value = formatMetadata(value, metadata);
return value;
}
java类android.telephony.PhoneNumberUtils的实例源码
VCardTelDisplayFormatter.java 文件源码
项目:weex-3d-map
阅读 16
收藏 0
点赞 0
评论 0
MemberDetailsActivity.java 文件源码
项目:ITSM
阅读 16
收藏 0
点赞 0
评论 0
/**
* 调起系统打电话功能
*/
public void doCallPhoneTo(String phoneNumber) {
if (PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)) {
if (mayCallPhone()) {
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
startActivity(intent);
}
}
}
PduPersister.java 文件源码
项目:darksms
阅读 22
收藏 0
点赞 0
评论 0
/**
* For a given address type, extract the recipients from the headers.
*
* @param addressType can be PduHeaders.FROM or PduHeaders.TO
* @param recipients a HashSet that is loaded with the recipients from the FROM or TO headers
* @param addressMap a HashMap of the addresses from the ADDRESS_FIELDS header
* @param excludeMyNumber if true, the number of this phone will be excluded from recipients
*/
private void loadRecipients(int addressType, HashSet<String> recipients,
HashMap<Integer, EncodedStringValue[]> addressMap, boolean excludeMyNumber) {
EncodedStringValue[] array = addressMap.get(addressType);
if (array == null) {
return;
}
// If the TO recipients is only a single address, then we can skip loadRecipients when
// we're excluding our own number because we know that address is our own.
if (excludeMyNumber && array.length == 1) {
return;
}
String myNumber = excludeMyNumber ? mTelephonyManager.getLine1Number() : null;
for (EncodedStringValue v : array) {
if (v != null) {
String number = v.getString();
if ((myNumber == null || !PhoneNumberUtils.compare(number, myNumber)) &&
!recipients.contains(number)) {
// Only add numbers which aren't my own number.
recipients.add(number);
}
}
}
}
PhoneNumber.java 文件源码
项目:darksms
阅读 20
收藏 0
点赞 0
评论 0
/**
* Formats address to normal form like +[country][prefix][localnumber]
* @param address
* @return
*/
private static String getNormalizedAddress(String address) {
String number=stripAddress(address);
try {
//parse number using current locale rules
Phonenumber.PhoneNumber phonenumber=phoneNumberUtil.parseAndKeepRawInput(number, Locale.getDefault().getCountry());
//Phonenumber.PhoneNumber phonenumber = phoneNumberUtil.parse(number, Locale.getDefault().getCountry());
//format to international form
//phoneNumberUtil
number=phoneNumberUtil.format(phonenumber, PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL);
//stripe any formatting symbols
return stripAddress(number);
}
catch(Exception ex) {
//in case of fail use default formatting rules
number=PhoneNumberUtils.formatNumber(number);
//stripe any formatting symbols
return stripAddress(number);
}
}
AddCardActivity.java 文件源码
项目:braintree-android-drop-in
阅读 15
收藏 0
点赞 0
评论 0
private void enterState(int state) {
switch(state) {
case LOADING:
mActionBar.setTitle(R.string.bt_card_details);
mViewSwitcher.setDisplayedChild(0);
break;
case CARD_ENTRY:
mActionBar.setTitle(R.string.bt_card_details);
mAddCardView.setVisibility(VISIBLE);
break;
case DETAILS_ENTRY:
mActionBar.setTitle(R.string.bt_card_details);
mEditCardView.setCardNumber(mAddCardView.getCardForm().getCardNumber());
mEditCardView.useUnionPay(this, mUnionPayCard, mUnionPayDebitCard);
mEditCardView.setVisibility(VISIBLE);
break;
case ENROLLMENT_ENTRY:
mActionBar.setTitle(R.string.bt_confirm_enrollment);
mEnrollmentCardView.setPhoneNumber(
PhoneNumberUtils.formatNumber(mEditCardView.getCardForm().getCountryCode() +
mEditCardView.getCardForm().getMobileNumber()));
mEnrollmentCardView.setVisibility(VISIBLE);
break;
}
}
CallReceiverActivity.java 文件源码
项目:voice-call-recorder-android
阅读 18
收藏 0
点赞 0
评论 0
private void retrieveFiles(){
RealmResults<CallHistory> result = myRealm.where(CallHistory.class)
.isNotNull(CallHistory.kCOL_FILE_PATH)
.findAllSorted(CallHistory.kCOL_DATE_TIME, Sort.DESCENDING);
arrayFilePaths.clear();
arrayCalls.clear();
if (result.size() > 0) {
for(CallHistory c:result) {
arrayFilePaths.add(PhoneNumberUtils.formatNumber(c.phoneNumber) + " " + getDate(c.dateTime, "d/MM/yyyy HH:mm:ss"));
arrayCalls.add(c);
}
}
if (adapter != null) {
adapter.notifyDataSetChanged();
if (arrayCalls.size() > 0 && !hasPlayerSetup){
AudioWife.getInstance().init(CallReceiverActivity.this, Uri.parse(arrayCalls.get(0).getFilePath())).useDefaultUi(llMediaPlayer, getLayoutInflater());
hasPlayerSetup = true;
}
}
}
CountryCodePicker.java 文件源码
项目:CountryCodePickerProject
阅读 21
收藏 0
点赞 0
评论 0
/**
* This function combines selected country code from CCP and carrier number from @param editTextCarrierNumber
* This will return formatted number.
*
* @return Full number is countryCode + carrierNumber i.e countryCode= 91 and carrier number= 8866667722, this will return "918866667722"
*/
public String getFormattedFullNumber() {
String formattedFullNumber;
Phonenumber.PhoneNumber phoneNumber;
if (editText_registeredCarrierNumber != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
formattedFullNumber = PhoneNumberUtils.formatNumber(getFullNumberWithPlus(), getSelectedCountryCode());
} else {
formattedFullNumber = PhoneNumberUtils.formatNumber(getFullNumberWithPlus());
}
} else {
formattedFullNumber = getSelectedCountry().getPhoneCode();
Log.w(TAG, "EditText for carrier number is not registered. Register it using registerCarrierNumberEditText() before getFullNumber() or setFullNumber().");
}
return formattedFullNumber;
}
VCardContactEncoder.java 文件源码
项目:sres-app
阅读 16
收藏 0
点赞 0
评论 0
@Override
public String[] encode(Iterable<String> names,
String organization,
Iterable<String> addresses,
Iterable<String> phones,
Iterable<String> emails,
String url,
String note) {
StringBuilder newContents = new StringBuilder(100);
StringBuilder newDisplayContents = new StringBuilder(100);
newContents.append("BEGIN:VCARD").append(TERMINATOR);
appendUpToUnique(newContents, newDisplayContents, "N", names, 1, null);
append(newContents, newDisplayContents, "ORG", organization);
appendUpToUnique(newContents, newDisplayContents, "ADR", addresses, 1, null);
appendUpToUnique(newContents, newDisplayContents, "TEL", phones, Integer.MAX_VALUE, new Formatter() {
@Override
public String format(String source) {
return PhoneNumberUtils.formatNumber(source);
}
});
appendUpToUnique(newContents, newDisplayContents, "EMAIL", emails, Integer.MAX_VALUE, null);
append(newContents, newDisplayContents, "URL", url);
append(newContents, newDisplayContents, "NOTE", note);
newContents.append("END:VCARD").append(TERMINATOR);
return new String[] { newContents.toString(), newDisplayContents.toString() };
}
Database.java 文件源码
项目:Opendoor
阅读 33
收藏 0
点赞 0
评论 0
@Nullable
private static ListIterator<User> getUserPosition(Context context, User user) {
ArrayList<User> users = getUsers(context);
if (users != null) {
ListIterator<User> iterator;
iterator = users.listIterator();
while (iterator.hasNext()) {
if (PhoneNumberUtils.compare(iterator.next().number, user.number)) {
return iterator;
}
}
}
return null;
}
VCardContactEncoder.java 文件源码
项目:keepass2android
阅读 18
收藏 0
点赞 0
评论 0
@Override
public String[] encode(Iterable<String> names,
String organization,
Iterable<String> addresses,
Iterable<String> phones,
Iterable<String> emails,
Iterable<String> urls,
String note) {
StringBuilder newContents = new StringBuilder(100);
newContents.append("BEGIN:VCARD").append(TERMINATOR);
newContents.append("VERSION:3.0").append(TERMINATOR);
StringBuilder newDisplayContents = new StringBuilder(100);
appendUpToUnique(newContents, newDisplayContents, "N", names, 1, null);
append(newContents, newDisplayContents, "ORG", organization);
appendUpToUnique(newContents, newDisplayContents, "ADR", addresses, 1, null);
appendUpToUnique(newContents, newDisplayContents, "TEL", phones, Integer.MAX_VALUE, new Formatter() {
@Override
public String format(String source) {
return PhoneNumberUtils.formatNumber(source);
}
});
appendUpToUnique(newContents, newDisplayContents, "EMAIL", emails, Integer.MAX_VALUE, null);
appendUpToUnique(newContents, newDisplayContents, "URL", urls, Integer.MAX_VALUE, null);
append(newContents, newDisplayContents, "NOTE", note);
newContents.append("END:VCARD").append(TERMINATOR);
return new String[] { newContents.toString(), newDisplayContents.toString() };
}
SMSResultHandler.java 文件源码
项目:keepass2android
阅读 21
收藏 0
点赞 0
评论 0
@Override
public CharSequence getDisplayContents() {
SMSParsedResult smsResult = (SMSParsedResult) getResult();
String[] rawNumbers = smsResult.getNumbers();
String[] formattedNumbers = new String[rawNumbers.length];
for (int i = 0; i < rawNumbers.length; i++) {
formattedNumbers[i] = PhoneNumberUtils.formatNumber(rawNumbers[i]);
}
StringBuilder contents = new StringBuilder(50);
ParsedResult.maybeAppend(formattedNumbers, contents);
ParsedResult.maybeAppend(smsResult.getSubject(), contents);
ParsedResult.maybeAppend(smsResult.getBody(), contents);
return contents.toString();
}
RecipientsEditor.java 文件源码
项目:PeSanKita-android
阅读 30
收藏 0
点赞 0
评论 0
private boolean isValidAddress(String number, boolean isMms) {
/*if (isMms) {
return MessageUtils.isValidMmsAddress(number);
} else {*/
// TODO: PhoneNumberUtils.isWellFormedSmsAddress() only check if the number is a valid
// GSM SMS address. If the address contains a dialable char, it considers it a well
// formed SMS addr. CDMA doesn't work that way and has a different parser for SMS
// address (see CdmaSmsAddress.parse(String address)). We should definitely fix this!!!
return PhoneNumberUtils.isWellFormedSmsAddress(number);
}
CanonicalAddressDatabase.java 文件源码
项目:PeSanKita-android
阅读 20
收藏 0
点赞 0
评论 0
@VisibleForTesting
static boolean isNumberAddress(@NonNull String number) {
if (number.contains("@")) return false;
if (GroupUtil.isEncodedGroup(number)) return false;
final String networkNumber = PhoneNumberUtils.extractNetworkPortion(number);
if (TextUtils.isEmpty(networkNumber)) return false;
if (networkNumber.length() < 3) return false;
return PhoneNumberUtils.isWellFormedSmsAddress(number);
}
SmsDatabase.java 文件源码
项目:PeSanKita-android
阅读 22
收藏 0
点赞 0
评论 0
protected long insertMessageOutbox(long threadId, OutgoingTextMessage message,
long type, boolean forceSms, long date)
{
if (message.isKeyExchange()) type |= Types.KEY_EXCHANGE_BIT;
else if (message.isSecureMessage()) type |= (Types.SECURE_MESSAGE_BIT | Types.PUSH_MESSAGE_BIT);
else if (message.isEndSession()) type |= Types.END_SESSION_BIT;
if (forceSms) type |= Types.MESSAGE_FORCE_SMS_BIT;
String address = message.getRecipients().getPrimaryRecipient().getNumber();
ContentValues contentValues = new ContentValues(6);
contentValues.put(ADDRESS, PhoneNumberUtils.formatNumber(address));
contentValues.put(THREAD_ID, threadId);
contentValues.put(BODY, message.getMessageBody());
contentValues.put(DATE_RECEIVED, System.currentTimeMillis());
contentValues.put(DATE_SENT, date);
contentValues.put(READ, 1);
contentValues.put(TYPE, type);
contentValues.put(SUBSCRIPTION_ID, message.getSubscriptionId());
contentValues.put(EXPIRES_IN, message.getExpiresIn());
try {
contentValues.put(RECEIPT_COUNT, earlyReceiptCache.remove(date, canonicalizeNumber(context, address)));
} catch (InvalidNumberException e) {
Log.w(TAG, e);
}
SQLiteDatabase db = databaseHelper.getWritableDatabase();
long messageId = db.insert(TABLE_NAME, ADDRESS, contentValues);
DatabaseFactory.getThreadDatabase(context).update(threadId, true);
DatabaseFactory.getThreadDatabase(context).setLastSeen(threadId);
notifyConversationListeners(threadId);
jobManager.add(new TrimThreadJob(context, threadId));
return messageId;
}
RecipientsFormatter.java 文件源码
项目:PeSanKita-android
阅读 17
收藏 0
点赞 0
评论 0
private static String parseBracketedNumber(String recipient) throws RecipientFormattingException {
int begin = recipient.indexOf('<');
int end = recipient.indexOf('>');
String value = recipient.substring(begin + 1, end);
if (PhoneNumberUtils.isWellFormedSmsAddress(value))
return value;
else
throw new RecipientFormattingException("Bracketed value: " + value + " is not valid.");
}
RecipientsFormatter.java 文件源码
项目:PeSanKita-android
阅读 19
收藏 0
点赞 0
评论 0
private static String parseRecipient(String recipient) throws RecipientFormattingException {
recipient = recipient.trim();
if ((recipient.indexOf('<') != -1) && (recipient.indexOf('>') != -1))
return parseBracketedNumber(recipient);
if (PhoneNumberUtils.isWellFormedSmsAddress(recipient))
return recipient;
throw new RecipientFormattingException("Recipient: " + recipient + " is badly formatted.");
}
ContactsSearchAdapter.java 文件源码
项目:CSipSimple
阅读 19
收藏 0
点赞 0
评论 0
@Override
public final CharSequence convertToString(Cursor cursor) {
CharSequence number = ContactsWrapper.getInstance().transformToSipUri(mContext, cursor);
boolean isExternalPhone = ContactsWrapper.getInstance().isExternalPhoneNumber(mContext, cursor);
if(!TextUtils.isEmpty(number) && isExternalPhone) {
String stripNbr = PhoneNumberUtils.stripSeparators(number.toString());
return Filter.rewritePhoneNumber(mContext, currentAccId, stripNbr);
}
return number;
}
DialerFragment.java 文件源码
项目:CSipSimple
阅读 22
收藏 0
点赞 0
评论 0
private void applyRewritingInfo() {
// Rewrite information textView update
String newText = digits.getText().toString();
if(accountChooserFilterItem != null && accountChooserFilterItem.isChecked()) {
if(isDigit) {
newText = PhoneNumberUtils.stripSeparators(newText);
}
rewriteTextInfo.setText(rewriteNumber(newText));
}else {
rewriteTextInfo.setText("");
}
}
CallLogGroupBuilder.java 文件源码
项目:CSipSimple
阅读 19
收藏 0
点赞 0
评论 0
private boolean equalNumbers(String number1, String number2) {
// if (PhoneNumberUtils.isUriNumber(number1) || PhoneNumberUtils.isUriNumber(number2)) {
// return compareSipAddresses(number1, number2);
// } else {
// Optim -- first try to compare very simply
if(number1 != null && number2 != null && number1.equals(number2)) {
return true;
}
return PhoneNumberUtils.compare(number1, number2);
// }
}
SMSResultHandler.java 文件源码
项目:weex-3d-map
阅读 33
收藏 0
点赞 0
评论 0
@Override
public CharSequence getDisplayContents() {
SMSParsedResult smsResult = (SMSParsedResult) getResult();
String[] rawNumbers = smsResult.getNumbers();
String[] formattedNumbers = new String[rawNumbers.length];
for (int i = 0; i < rawNumbers.length; i++) {
formattedNumbers[i] = PhoneNumberUtils.formatNumber(rawNumbers[i]);
}
StringBuilder contents = new StringBuilder(50);
ParsedResult.maybeAppend(formattedNumbers, contents);
ParsedResult.maybeAppend(smsResult.getSubject(), contents);
ParsedResult.maybeAppend(smsResult.getBody(), contents);
return contents.toString();
}
AutofillAddress.java 文件源码
项目:chromium-for-android-56-debug-video
阅读 17
收藏 0
点赞 0
评论 0
/**
* Checks address completion status in the given profile.
*
* If the country code is not set or invalid, but all fields for the default locale's country
* code are present, then the profile is deemed "complete." AutoflllAddress.toPaymentAddress()
* will use the default locale to fill in a blank country code before sending the address to the
* renderer.
*
* @param profile The autofill profile containing the address information.
* @return int The completion status.
*/
@CompletionStatus
public static int checkAddressCompletionStatus(AutofillProfile profile) {
int invalidFieldsCount = 0;
int completionStatus = COMPLETE;
if (!PhoneNumberUtils.isGlobalPhoneNumber(
PhoneNumberUtils.stripSeparators(profile.getPhoneNumber().toString()))) {
completionStatus = INVALID_PHONE_NUMBER;
invalidFieldsCount++;
}
List<Integer> requiredFields = AutofillProfileBridge.getRequiredAddressFields(
AutofillAddress.getCountryCode(profile));
for (int fieldId : requiredFields) {
if (fieldId == AddressField.RECIPIENT || fieldId == AddressField.COUNTRY) continue;
if (!TextUtils.isEmpty(getProfileField(profile, fieldId))) continue;
completionStatus = INVALID_ADDRESS;
invalidFieldsCount++;
break;
}
if (TextUtils.isEmpty(profile.getFullName())) {
completionStatus = INVALID_RECIPIENT;
invalidFieldsCount++;
}
if (invalidFieldsCount > 1) {
completionStatus = INVALID_MULTIPLE_FIELDS;
}
return completionStatus;
}
RecipientList.java 文件源码
项目:buildAPKsApps
阅读 21
收藏 0
点赞 0
评论 0
public static String buildNameAndNumber(String name, String number) {
// Format like this: Mike Cleron <(650) 555-1234>
// Erick Tseng <(650) 555-1212>
// (408) 555-1289
if (!TextUtils.isEmpty(name) &&
!name.equals(number)) {
return name + " <" + PhoneNumberUtils.formatNumber(number) + ">";
} else {
return PhoneNumberUtils.formatNumber(number);
}
}
VCardTelDisplayFormatter.java 文件源码
项目:ZXingAndroidExt
阅读 17
收藏 0
点赞 0
评论 0
@Override
public CharSequence format(CharSequence value, int index) {
value = PhoneNumberUtils.formatNumber(value.toString());
Map<String, Set<String>> metadata =
metadataForIndex == null || metadataForIndex.size() <= index ? null : metadataForIndex.get(index);
value = formatMetadata(value, metadata);
return value;
}
SMSResultHandler.java 文件源码
项目:ZXingAndroidExt
阅读 25
收藏 0
点赞 0
评论 0
@Override
public CharSequence getDisplayContents() {
SMSParsedResult smsResult = (SMSParsedResult) getResult();
String[] rawNumbers = smsResult.getNumbers();
String[] formattedNumbers = new String[rawNumbers.length];
for (int i = 0; i < rawNumbers.length; i++) {
formattedNumbers[i] = PhoneNumberUtils.formatNumber(rawNumbers[i]);
}
StringBuilder contents = new StringBuilder(50);
ParsedResult.maybeAppend(formattedNumbers, contents);
ParsedResult.maybeAppend(smsResult.getSubject(), contents);
ParsedResult.maybeAppend(smsResult.getBody(), contents);
return contents.toString();
}
SMSResultHandler.java 文件源码
项目:tvConnect_android
阅读 25
收藏 0
点赞 0
评论 0
@Override
public CharSequence getDisplayContents() {
SMSParsedResult smsResult = (SMSParsedResult) getResult();
String[] rawNumbers = smsResult.getNumbers();
String[] formattedNumbers = new String[rawNumbers.length];
for (int i = 0; i < rawNumbers.length; i++) {
formattedNumbers[i] = PhoneNumberUtils.formatNumber(rawNumbers[i]);
}
StringBuilder contents = new StringBuilder(50);
ParsedResult.maybeAppend(formattedNumbers, contents);
ParsedResult.maybeAppend(smsResult.getSubject(), contents);
ParsedResult.maybeAppend(smsResult.getBody(), contents);
return contents.toString();
}
SMSResultHandler.java 文件源码
项目:tvConnect_android
阅读 27
收藏 0
点赞 0
评论 0
@Override
public CharSequence getDisplayContents() {
SMSParsedResult smsResult = (SMSParsedResult) getResult();
String[] rawNumbers = smsResult.getNumbers();
String[] formattedNumbers = new String[rawNumbers.length];
for (int i = 0; i < rawNumbers.length; i++) {
formattedNumbers[i] = PhoneNumberUtils.formatNumber(rawNumbers[i]);
}
StringBuilder contents = new StringBuilder(50);
ParsedResult.maybeAppend(formattedNumbers, contents);
ParsedResult.maybeAppend(smsResult.getSubject(), contents);
ParsedResult.maybeAppend(smsResult.getBody(), contents);
return contents.toString();
}
MemberDetailsActivity.java 文件源码
项目:ITSM
阅读 19
收藏 0
点赞 0
评论 0
/**
* 调起系统发短信功能
*/
public void doSendSMSTo(String phoneNumber, String message) {
if (PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)) {
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phoneNumber));
intent.putExtra("sms_body", message);
startActivity(intent);
}
}
Validate.java 文件源码
项目:Expert-Android-Programming
阅读 26
收藏 0
点赞 0
评论 0
public static boolean isValidPhone(String target) {
if (target.equals("")) {
return false;
}
else if(target.length()!=10){
return false;
}
else {
return PhoneNumberUtils.isGlobalPhoneNumber(target);
}
}
MainActivity.java 文件源码
项目:android-fundamentals-phone-sms
阅读 19
收藏 0
点赞 0
评论 0
/**
* Uses an implicit intent to make the phone call.
* Before calling, checks to see if permission is granted.
*
* @param view View that was clicked.
*/
public void callNumber(View view) {
String normalizedPhoneNumber;
// Find the editText_main view and assign it to editText.
EditText editText = (EditText) findViewById(R.id.editText_main);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
Log.d(TAG, "Running version earlier than Lollipop. Can't normalize number.");
normalizedPhoneNumber = editText.getText().toString();
} else {
normalizedPhoneNumber =
PhoneNumberUtils.normalizeNumber(editText.getText().toString());
}
// Use format with "tel:" and phone number to create phoneNumber.
String phoneNumber = String.format("tel: %s", normalizedPhoneNumber);
// Log the concatenated phone number for dialing.
Log.d(TAG, getString(R.string.dial_number) + phoneNumber);
Toast.makeText(this, getString(R.string.dial_number) + phoneNumber,
Toast.LENGTH_LONG).show();
// Create the intent.
Intent callIntent = new Intent(Intent.ACTION_CALL);
// Set the data for the intent as the phone number.
callIntent.setData(Uri.parse(phoneNumber));
// If package resolves to an app, check for phone permission,
// and send intent.
if (callIntent.resolveActivity(getPackageManager()) != null) {
checkForPhonePermission();
startActivity(callIntent);
} else {
Log.e(TAG, "Can't resolve app for ACTION_CALL Intent.");
}
}
RecipientsEditor.java 文件源码
项目:Cable-Android
阅读 26
收藏 0
点赞 0
评论 0
private boolean isValidAddress(String number, boolean isMms) {
/*if (isMms) {
return MessageUtils.isValidMmsAddress(number);
} else {*/
// TODO: PhoneNumberUtils.isWellFormedSmsAddress() only check if the number is a valid
// GSM SMS address. If the address contains a dialable char, it considers it a well
// formed SMS addr. CDMA doesn't work that way and has a different parser for SMS
// address (see CdmaSmsAddress.parse(String address)). We should definitely fix this!!!
return PhoneNumberUtils.isWellFormedSmsAddress(number);
}