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;

}

}

}

时间: 2024-12-27 13:07:56

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

android 电话薄先10位匹配,若是无法匹配,则换成7位匹配

案例 1: 如果您保存的有:A:04165191666, B:5191666,  来电号码是:04165191666 因为是7位匹配,所以A和B都可以匹配到,但是最佳匹配还是A,最后显示A: 来电5191666则匹配到B. 案例 2: 仅保存 A:04165191666, 来电5191666或者04165191666则都匹配A. 案例 3: 仅保存 B:5191666, 来电5191666或者04165191666则都匹配B. 可以在7匹配的基础上,将符合条件的号码匹配做进一步筛选即可. 首先,

android 先10位匹配,若是无法匹配,则换成7位匹配

若是一些海外需求,对于号码匹配位数,需要先10位匹配,若是无法匹配,则换成7位匹配 具体情况举例: Case 1: 如果您保存的有:A:04165191666, B:5191666,  来电号码是:04165191666 因为是7位匹配,所以A和B都可以匹配到,但是最佳匹配还是A,最后显示A: 来电5191666则匹配到B. Case 2: 仅保存 A:04165191666, 来电5191666或者04165191666则都匹配A. Case 3: 仅保存 B:5191666, 来电51916

SharePoint 2013 中代码创建列表查阅项字段

1.首先,打开VS创建两个List Definition,分别是Address和City,如下图: 2.City列表里修改Title为City Name,其实内部名称还是Title,注意一下: 3.给City的列表实例,添加几个值,用来测试使用,如下: 4.在Address列表里添加几个字段,分别是CityName(LookUp类型)和HomeAddress(Single Line of Text),如下: 5.查看Address列表的Schema.Xml,尤其是Fields节点,也就是字段,如

android客户端和网站数据交互的实现(基于Http协议获取数据方法)

android客户端一般不直接访问网站数据库,而是像浏览器一样发送get或者post请求,然后网站返回客户端能理解的数据格式,客户端解析这些数据,显示在界面上,常用的数据格式是xml和json. 可以理解客户端其实是一个你自己定义标记语言的浏览器,一般浏览器能解析的是html+css的数据,而android客户端能解析的是xml和json(或者都不是而是你自己定义的火星格式),服务端为了能满足客户端输出这种数据格式的需求,不得不专门针对客户端开发不同于浏览器访问的接口. 开发一个网站的客户端你需

[Android 新特性] 15项大改进 Android 4.4新特性解析

腾讯数码讯(编译:刘沙) 终于,Android系统迎来了久违的重大更新——Android 4.4 KitKat,并与新旗舰Nexus 5同时问世.那么,新的系统究竟都有怎样的改进.是否值得升级呢,下面就一次想为你呈现Android 4.4 KitKat的全部新特性: 1. 新的拨号和智能来电显示 首先,新的拨号程序会根据你的使用习惯,自动智能推荐常用的联系人,方便快速拨号:同时,一些知名企业或是服务号码的来电,会使用谷歌的在线数据库进行匹配自动显示名称,即使你的手机中没有存储它们. 2. 针对R

Android——Activity恢复用户用EditText输入的数据

说明: 在横屏输入的内容,在Activity销毁后,即横屏后,获取用户输入的内容 步骤: 1.在xml页面定义EditText的id 2.用onSaveInstanceState保存用户输入的数据 (1)调父类 (2)用findViewById使用id查找并获取View的实例(View所有控件的父类,再强制转换一下) (3)找到实例,获取文本内容:转为字符串 get (4)将获取到内容保存起来 put 3.用onRestoreInstanceState恢复数据 (1)先获取数据 get (2)操

android 中如何限制 EditText 最大输入字符数

方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilter 进行过滤 //editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20 [java] view plaincopy public class TextEditActivity exten

Android学习资源网站大全

https://github.com/zhujun2730/Android-Learning-Resources 整理了一些 Android 的博客链接.学习资源网站.站在巨人的肩膀上,会看得更远.整理这一份资源也方便更多的Android开发者能享受到技术分享的力量.首先,在这里要感谢所有开源项目的作者,感谢Trinea,CodeKK,张明云,胡凯等等大大无私的技术分享,感谢所有乐于分享学习经验的人.最后,若有侵权,请联系本人,本人将及时删除侵权内容. #目录 1.官方学习资源[推荐必看] 2.

如何彻底删除TFS的工作项字段

TFS的工作项字段可以在所有工作项类型之间共享.例如自定义了一个字段"验证迭代"(Mycompany.IterationValidation)那么在需求.Bug中都可以添加这个字段:同样在其他工作项中不能再定义一个同名的新的字段"验证迭代".一旦已经定义并在TFS的工作项中使用了字段,这个字段便会被TFS定义到了数据库的结构中,不能随意删除.即使管理员在工作项定义中删除了该字段,与这个字段相关的数据和结果都还保留在数中,你会发现当你重新将这个字段添加回工作项中时,原