这样要改内核代码了吧
一般来说你说的那两种TAG都是以这种形式表现的 如<a href="tel:tel:1234567"></a>
<a href="sms:1234567/感谢分享"></a>
当解析到a元素时判断href的值是tel:形式还是sms:形式,然后给他们加个button
一般来说你说的那两种TAG都是以这种形式表现的 如<a href="tel:tel:1234567"></a>
<a href="sms:1234567/感谢分享"></a>
当解析到a元素时判断href的值是tel:形式还是sms:形式,然后给他们加个button
解决方案 »
- 问个android的问题,代码是我反编译出来的,请教下大家
- 连连看die()方法解读?
- ListView无法聚焦被选中
- Android NDK 使用STLport的方法
- android开发时,在自己开发的程序中如何调出系统自带的主界面,就是点托盘调出的那个界面?
- 请问Android支持几种中文字体类型?opentype支持吗?
- 关于Fragment的问题
- android studio下提示gradle project sync failed.Basic functionality will not work
- Android Tabhost代码没报错,就是打不开啊,跪求大神!!!
- 在TimerTask中还需要new Thread么?
- 什么情况会出现unable to open database file
- 为什么说Parcelable比标准的Java序列化的效率高
<a href="sms:1234567/感谢分享"></a>这种形式存在的,
当解析到a元素时增加判断,如果href是tel或者sms形式给它加个按钮图片
仍请指教,改内核,是指改webkit的内核吗?具体在android上如何实现?应该是个大话题,有没有攻略地址,或者合适的搜索关键词,我去搜搜学习下。多谢了。
之前有一些想法,但是还是有些差距,请大家给点意见:
1、重载WebViewClient的shouldOverrideUrlLoading方法,在其中遇到url="tel:1234567"和url="sms:1234567/感谢分享"这样的特定地址时就做特别的操作,这样使用<a href...>的形式就可以满足一定的需要。但缺点是必须当超链接被点击时才能触发行为动作,无法提前构建相应GUI;2、使用addJavascriptInterface方法。在页面中按照规则编写js代码,js代码调用触发android特定动作。但缺点同上,无法提前构建GUI;3、访问页面时同时访问某一个指定的xml文件地址,xml中以便签自定义所需界面及操作数据。手机端访问页面时同步根据xml构建GUI。这个方案可以实现提前(近似于)构建GUI。但也有缺点,是需要额外发起一次xml的访问,这个在定制化的页面增多后,同时提升了web端和client-side端的开发及维护成本;4、还有个模糊的思路,但缺乏基础知识,没想清楚。就是有没有办法在html嵌入一段特殊的代码,其中携带必要信息(比如meta之类的),通过webview可以读取解析,完成功能。同时又不影响web的兼容性,保证页面在其他浏览器,其他平台上也能正常显示,只是无法对嵌入代码解析而已?谢谢大家了
仍请指教,改内核,是指改webkit的内核吗?具体在android上如何实现?应该是个大话题,有没有攻略地址,或者合适的搜索关键词,我去搜搜学习下。多谢了。
之前有一些想法,但是还是有些差距,请大家给点意见:
1、重载WebViewClient的shouldOverrideUrlLoading方法,在其中遇到url="tel:1234567"和url="sms:1234567/感谢分享"这样的特定地址时就做特别的操作,这样使用<a href...>的形式就可以满足一定的需要。但缺点是必须当超链接被点击时才能触发行为动作,无法提前构建相应GUI;2、使用addJavascriptInterface方法。在页面中按照规则编写js代码,js代码调用触发android特定动作。但缺点同上,无法提前构建GUI;3、访问页面时同时访问某一个指定的xml文件地址,xml中以便签自定义所需界面及操作数据。手机端访问页面时同步根据xml构建GUI。这个方案可以实现提前(近似于)构建GUI。但也有缺点,是需要额外发起一次xml的访问,这个在定制化的页面增多后,同时提升了web端和client-side端的开发及维护成本;4、还有个模糊的思路,但缺乏基础知识,没想清楚。就是有没有办法在html嵌入一段特殊的代码,其中携带必要信息(比如meta之类的),通过webview可以读取解析,完成功能。同时又不影响web的兼容性,保证页面在其他浏览器,其他平台上也能正常显示,只是无法对嵌入代码解析而已?谢谢大家了
第一步:自己写网络模块从服务器取得页面的html代码
第二步:解析这段源码,通过正则匹配或者字符串判断,但凡遇到<a href="tel:1111">call</a>把这段字符串转化为<button onclick="window.object.tel()">call</button> //window.object是扩展对象
第三部:把转化后的字符串str用webview.loadview.loadDataWithBaseURL(url, str, mimeType, encoding, null);
其实需求大概是这样的,某种类型的页面,需要在客户端底部用工具条的方式显示拨号、手机等等按钮;其他类型的页面,又可能根据业务放上其他不同的按钮;
这样操作起来就不像是完全在进行网页操作。呵呵,总结得不好,就是在程序中完成了applicaton与web的交互,不止有操作交互,还有界面的交互。
感觉一、二步有戏 :D。只是目的还不是在页面上直接显示按钮,而是在activity底部工具条动态生成按钮。
之前有个版本是这么做的,后来发现业务需求比较灵活,扩展的地方太多,还是嵌入web方式开发及使用效率高些。才形成了现在的这么个交互需要。
那就解析到<a href="tel:1111">call</a>对页面代码不要做任何操作,只是记录下这个标识 同时通知底部工具条去生成按钮