首页 > 代码库 > android联系人中“网站”项字段输入tel:12345678901(冒号后数字大于10位)保存后点击联系人头像,联系人停止运行

android联系人中“网站”项字段输入tel:12345678901(冒号后数字大于10位)保存后点击联系人头像,联系人停止运行

1. 新建联系人->网站项输入“tel:012345678901” (冒号后数字大于10位的情况) -> 保存。
2. 进入联系人列表,点击联系人头像
结果:
WebAddress.java中抛出异常,程序停止运行
该问题发生的原因是:当在people界面点击某个有网站字段的联系人的quickContact图标时,会检查网站字段的合法性,
如果合法,才会画出quickContactActivity界面,否则会报出ParseException的异常。
 找到com/android/contacts/quickcontact/DataAction.java类
 
找到方法DataAction():
修改前:
public DataAction(Context context,DataItem item) {
   。。。
   elseif (item instanceof WebSiteDataItem) {
   if(!TextUtils.isEmpty(url)) {
           WebAddress webAddress = new WebAddress;
           mIntent = new Intent(...);      
  }
}
 
 
修改后(添加try,catch捕获异常):
public DataAction(Context context,DataItem item) {
   。。。
   elseif (item instanceof WebSiteDataItem) {
   if(!TextUtils.isEmpty(url)) {
      try {
           WebAddress webAddress = new WebAddress;
           mIntent = new Intent(...);
       } catch (android.net.ParseException ex) {
          return;
    }
  }
}
 

android联系人中“网站”项字段输入tel:12345678901(冒号后数字大于10位)保存后点击联系人头像,联系人停止运行