android 浏览器开技术
1.网页内的右键菜单
- publicbooleanonLongClick(Viewview){
- //获取点击的元素
- HitTestResultmResult=mWebView.getHitTestResult();
- finalinttype=mResult.getType();
- switch(type){
- caseHitTestResult.ANCHOR_TYPE:
- caseHitTestResult.SRC_ANCHOR_TYPE:
- //点击的是链接
- break;
- caseHitTestResult.IMAGE_TYPE:
- caseHitTestResult.IMAGE_ANCHOR_TYPE:
- caseHitTestResult.SRC_IMAGE_ANCHOR_TYPE:
- //点击的是图片
- break;
- default:
- //点击的是空白处
- break;
- }
- returntrue;
- }
根据是图片还是链接还是空白做判断
2.网页内的自由复制
转载请注明出处:http://blog.csdn.net/ethan_xue/article/details/7748075
- /**
- *网页里复制粘贴
- *@paramviewwebView
- *@authorethan
- */
- privatevoidemulateShiftHeld(KeyEvent.Callbackview)
- {
- try
- {
- KeyEventshiftPressEvent=newKeyEvent(0,0,KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
- shiftPressEvent.dispatch(view);
- }catch(Exceptione)
- {
- }
- }
3.出错界面
webkit自带的出错界面不够霸气,于是改为自己做的出错界面
- newWebViewClient()
- ...此为背景
- @Override
- publicvoidonReceivedError(WebViewview,interrorCode,
- Stringdescription,StringfailingUrl){
- view.stopLoading();
- view.clearView();
- //显示出错界面
- mWebView.loadUrl("file:///android_asset/error.html");
- }
4.点外部链接调用自己的浏览器
在manifest.xml里主activity加入intent
- <pstyle="color:rgb(51,51,51);font-family:Arial;font-size:16px;line-height:25px;text-align:left;"><!--FortheseschemeswerenotparticularMIMEtypehasbeen
- supplied,weareagoodcandidate.-->
- <intent-filter>
- <actionandroid:name="android.intent.action.VIEW"/>
- <categoryandroid:name="android.intent.category.DEFAULT"/>
- <categoryandroid:name="android.intent.category.BROWSABLE"/>
- <dataandroid:scheme="http"/>
- <dataandroid:scheme="https"/>
- <dataandroid:scheme="about"/>
- <dataandroid:scheme="javascript"/>
- </intent-filter>
- <!--FortheseschemeswhereanyoftheseparticularMIMEtypes
- havebeensupplied,weareagoodcandidate.-->
- <intent-filter>
- <actionandroid:name="android.intent.action.VIEW"/>
- <categoryandroid:name="android.intent.category.BROWSABLE"/>
- <categoryandroid:name="android.intent.category.DEFAULT"/>
- <dataandroid:scheme="http"/>
- <dataandroid:scheme="https"/>
- <dataandroid:scheme="inline"/>
- <dataandroid:mimeType="text/html"/>
- <dataandroid:mimeType="text/plain"/>
- <dataandroid:mimeType="application/xhtml+xml"/>
- <dataandroid:mimeType="application/vnd.wap.xhtml+xml"/>
- </intent-filter>
- <actionandroid:name="android.intent.action.VIEW"/>
- <categoryandroid:name="android.intent.category.DEFAULT"/>
- <categoryandroid:name="android.intent.category.BROWSABLE"/>
- <dataandroid:scheme="file"/>
- </intent-filter></p>
外部调用就ok了,连file文件都能调用,若自己调用的话
android 浏览器开技术相关推荐
- Android NDK开发之 NEON基础介绍
原文:http://blog.csdn.net/app_12062011/article/details/50434259 Android NDK开发之 NEON基础介绍 这是官方介绍: http:/ ...
- Android安全开发之ZIP文件目录遍历
1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在"../"的字符串,攻击者可以利用多个"../"在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原 ...
- 电脑安卓模拟器多开技术模拟器功能使用介绍
[桔子模拟器助手]提供各种模拟器使用方法请浏览器搜索[桔子模拟器助手 ] 安卓模拟器是能在PC平台模拟安卓手机系统的模拟器软件.安卓模拟器能在电脑上模拟出安卓手机运行环境,安卓模拟器让你在电脑上也能体 ...
- Android 使用网络技术
Android 使用网络技术 Android 使用网络技术 使用WebView 使用Http协议访问网络 1 使用HttpURLConnection 2 使用OkHttp 解析xml格式 解析JSON ...
- 耗时118天爆肝【1296页】的“Android高级开发面试题”,终于成功上岸字节
前言 本人16年毕业于一家普通二本,考研裂开了且没有实习经验,只做过两个项目,每天就是不断地投简历.刷面经,感觉自己都要抑郁了,最后勉强进入了一家学校合作的互联网公司,后面陆陆续续也换了几家公司,毕业 ...
- 七 web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理...
如果爬虫没有异常处理,那么爬行中一旦出现错误,程序将崩溃停止工作,有异常处理即使出现错误也能继续执行下去 1.常见状态吗 301:重定向到新的URL,永久性 302:重定向到临时URL,非永久性 30 ...
- Android推送技术总结
Android推送技术总结 Android平台接入推送机制一般有两种,一种是Google官方提供的C2DM云端推送方案:另外一种是第三方,如极光.个推和友盟等推送平台. C2DM云端推送方案 1)简单 ...
- 浏览器指纹技术与浏览器指纹破解办法
浏览器指纹技术与浏览器指纹破解办法,浏览器指纹检测,浏览器指纹修改与伪装,浏览器指纹插件都是什么? 一.基本逻辑 采集具有设备浏览器差异化特征并且用户无法更改的信息,生成用户设备浏览器独特的身份序列, ...
- 【Android应用开发技术:用户界面】界面导航设计
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...
最新文章
- iKair:放弃硬件制造,切入上游去“送水”的逻辑
- selenium如何在同一个窗口页面中返回上一个页面窗口(Python)。
- mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题
- html中插人视频教程,HTML中插入视频并兼容所有浏览器
- 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...
- storm 动态设置并发度
- keepalived 原理,安装,配置
- inotify用法简介及结合rsync实现主机间的文件实时同步
- 《人类简史》作者:巨变将至!数据决定你未来是什么物种
- Qt之解决error: member access into incomplete type ‘UI::XXX‘
- #define中的三个特殊符号:#,##,#@
- SaaSpace:最好的免费网络安全工具
- python 进化树_进化树专题(七)| 进化树与不完全谱系分选
- linux下运行icem脚本,肿么安装linux版的icem
- 「网络安全」安全设备篇(7)——抗DDOS产品
- linux在root安装软件,避免使用root安装软件
- sql PK FK 区别
- 蓝牙网络:直接连接和接入点连接
- 使用Jt2Go控件显示3D模型 / View 3D Model with JT2GO
- 动态生成的dom为什么绑定事件会失效,以及如何解决
热门文章
- 华为机试HJ14:字符串排序
- 请检查captcha表格_【分享】工程资料这样写,再也不用担心检查组来检查资料了...
- Fiddler——模拟限速
- 搭建Mock Server实践(一)理论篇
- 获取android型号代码,Android应用开发之Android获取手机品牌、手机型号、手机唯一序列号的代码教程...
- CUDA初探—环境配置
- java环境安装1359错误_解决The valid characters are defined in RFC 7230 and RFC 3986错误问题...
- 当公司辞掉85后测试员选择95后测试员后...
- tostring会空指针吗_追了多年的开发框架,你还认识指针吗?
- arcgis分隔图层重复出文件_ArcGIS制图技巧讲解,处理好细节才能让图更专业!