android联系人中“网站”项字段输入tel:12345678901(冒号后数字大于10位)保存后点击联系人头像,联系人停止运行
2014-09-01 15:56
253 查看
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;
}
}
}
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:ListView中使用EditText,遇到的坑,获取点击焦点、保存输入文本的demo
- Android-->获取所有联系人以及所有的字段(联系人头像,邮箱,地址,公司等)
- Android开发 点击在本地选择换图片(头像)并且保存,实例总结。
- android 金额输入验证(阿拉伯数字转换中文大写)
- 编写程序,接受从键盘3输入的10个十进制数字,输入中遇见回车符则停止输入,各个数经过BCD码处理,以16进制显示
- eclipse 上直接点击运行android工程
- Android设置EditText只接受数字输入
- 通过sql语句将blob里的char取出来转成数字保存在其它字段
- android 取得系统联系人的头像
- Android EditText 限制输入数字和字母设置
- Android 设置EditText只输入数字
- android关于输入框弹出后 点击输入框以外的位置会让输入框消失
- 4章10节输入一个大于一百小于十的数字
- 假设有10位同学,各有3门课程的成绩。从键盘输入每位同学的学号、姓名和3门课程的成绩,然后把数据保存到磁盘文件,再将磁盘文件中的学生信息读入并显示
- Android 联系人开发- 保存联系人
- Mybatis解决空字符串保存入Mysql数字字段的类型转换问题
- //显示一个圆,通过点击开始和停止按钮来运行动画!
- android 通过手机号查找联系人的头像
- Android 点击通知栏图标 返回已经运行的程序,而不开启一个新的Activity
- 直接通过sql语句,将blob里的char取出来转成数字保存在其它字段