本人和朋友们做了一段时间浏览器,将一些小技巧分享出来,先写一部分,慢慢写,同时也为我们的浏览器打打广告

我们的浏览器将要上线,名叫沙发浏览

1.网页内的右键菜单

  1. public boolean onLongClick(View view) {
  2. // 获取点击的元素
  3. HitTestResult mResult = mWebView.getHitTestResult();
  4. final int type = mResult.getType();
  5. switch (type) {
  6. case HitTestResult.ANCHOR_TYPE:
  7. case HitTestResult.SRC_ANCHOR_TYPE:
  8. //点击的是链接
  9. break;
  10. case HitTestResult.IMAGE_TYPE:
  11. case HitTestResult.IMAGE_ANCHOR_TYPE:
  12. case HitTestResult.SRC_IMAGE_ANCHOR_TYPE:
  13. //点击的是图片
  14. break;
  15. default:
  16. //点击的是空白处
  17. break;
  18. }
  19. return true;
  20. }

根据是图片还是链接还是空白做判断

2.网页内的自由复制

转载请注明出处:http://blog.csdn.net/ethan_xue/article/details/7748075

  1. /**
  2. * 网页里 复制粘贴
  3. * @param view webView
  4. * @author ethan
  5. */
  6. private void emulateShiftHeld(KeyEvent.Callback view)
  7. {
  8. try
  9. {
  10. KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
  11. KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
  12. shiftPressEvent.dispatch(view);
  13. } catch (Exception e)
  14. {
  15. }
  16. }

3.出错界面

webkit自带的出错界面不够霸气,于是改为自己做的出错界面

  1. new WebViewClient()
  2. ...此为背景
  3. @Override
  4. public void onReceivedError(WebView view, int errorCode,
  5. String description, String failingUrl) {
  6. view.stopLoading();
  7. view.clearView();
  8. // 显示出错界面
  9. mWebView.loadUrl("file:///android_asset/error.html");
  10. }

4.点外部链接调用自己的浏览器

在manifest.xml里主activity加入intent

  1. <p style="color: rgb(51, 51, 51); font-family: Arial; font-size: 16px; line-height: 25px; text-align: left; "><!-- For these schemes were not particular MIME type has been
  2. supplied, we are a good candidate. -->
  3. <intent-filter>
  4. <action android:name="android.intent.action.VIEW" />
  5. <category android:name="android.intent.category.DEFAULT" />
  6. <category android:name="android.intent.category.BROWSABLE" />
  7. <data android:scheme="http" />
  8. <data android:scheme="https" />
  9. <data android:scheme="about" />
  10. <data android:scheme="javascript" />
  11. </intent-filter>
  12. <!--  For these schemes where any of these particular MIME types
  13. have been supplied, we are a good candidate. -->
  14. <intent-filter>
  15. <action android:name="android.intent.action.VIEW" />
  16. <category android:name="android.intent.category.BROWSABLE" />
  17. <category android:name="android.intent.category.DEFAULT" />
  18. <data android:scheme="http" />
  19. <data android:scheme="https" />
  20. <data android:scheme="inline" />
  21. <data android:mimeType="text/html"/>
  22. <data android:mimeType="text/plain"/>
  23. <data android:mimeType="application/xhtml+xml"/>
  24. <data android:mimeType="application/vnd.wap.xhtml+xml"/>
  25. </intent-filter>
  26. <action android:name="android.intent.action.VIEW" />
  27. <category android:name="android.intent.category.DEFAULT" />
  28. <category android:name="android.intent.category.BROWSABLE" />
  29. <data android:scheme="file" />
  30. </intent-filter></p>

外部调用就ok了,连file文件都能调用,若自己调用的话

  1. Uri uri = Uri.parse("file://data/data/test.html");
  2. //   Uri uri = Uri.parse("http://m.baidu.com");
  3. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  4. context.startActivity(it);

http://blog.csdn.net/ethan_xue/article/details/7748075

android浏览器开发小技巧集锦(转)的更多相关文章

  1. flex开发小技巧集锦

    关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...

  2. Android开发学习之路-Android Studio开发小技巧

    上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Andro ...

  3. android应用开发小技巧

    1,实现应用可以安装到SD卡里面去:在AndroidManifest.xml文件的manifest里面添加下面一行: 1 android:installLocation="preferExt ...

  4. 移动Web开发小技巧

    移动Web开发小技巧 添加到主屏后的标题(IOS) name="apple-mobile-web-app-title" content="标题"> 启用  ...

  5. LoadRunner小技巧集锦

    preftest 性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com) LoadRunner小技巧集锦 1.录制脚本中包含中文,出现乱码怎么办? 把录制选项中的Suppo ...

  6. Android应用开发-小巫CSDN博客clientJsoup篇

    Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...

  7. Android应用开发-小巫CSDN博客client之显示博文具体内容

    Android应用开发-小巫CSDN博客客户端之显示博文具体内容 上篇博文给大家介绍的是怎样嵌入有米广告而且获取收益,本篇博客打算讲讲关于怎样在一个ListView里显示博文的具体信息.这个可能是童鞋 ...

  8. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

  9. Android课程---Android Studio使用小技巧:提取方法代码片段

    这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...

随机推荐

  1. 重新想象 Windows 8 Store Apps (33) - 关联启动: 使用外部程序打开一个文件或uri, 关联指定的文件类型或协议

    原文:重新想象 Windows 8 Store Apps (33) - 关联启动: 使用外部程序打开一个文件或uri, 关联指定的文件类型或协议 [源码下载] 重新想象 Windows 8 Store ...

  2. easyui动力头 &amp;&amp; 动态加入tabs

    今天,在实现了业务时的,我们需要根据后台操作,以产生多个数据tab页,而且每一个tab页表格根据需要动态生成的标题数据. 返回后台数据格例如,下面的公式: 实现方法例如以下: //$("#c ...

  3. Caching-缓存架构与源码分析

    Caching-缓存架构与源码分析 首先奉献caching的开源地址[微软源码] 1.工程架构 为了提高程序效率,我们经常将一些不频繁修改,但是使用了还很大的数据进行缓存.尤其是互联网产品,缓存可以说 ...

  4. 自定义错误页面mvc用法

    原谅我这个新手,对大神们来说这么简单的问题,竟折腾了我一个上午,仅此文章做个记录,供以后备用. 自定义错误页面(custom error pages)在asp.net webform里的配置请看htt ...

  5. Linux常见命令整理(一)

    整理一下,以备后用 cd /home 进入/home文件夹 cd .. 返回上一级文件夹  cd ../.. 返回上两级文件夹  cd 进入个人的主文件夹  cd - 返回上次所在的文件夹 pwd 显 ...

  6. java提高篇(十一)-----代码块

    在编程过程中我们可能会遇到如下这种形式的程序: public class Test { { //// } } 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起, ...

  7. Android-管理Activity生命周期 -重新创建Activity

    按照正常的app行为,很少情况下activity会销毁,只有当用户点击了返回按钮或者activity通过调用finish()发出销毁信号.系统也有可能销毁activity如果它是停止状态并且很久没有使 ...

  8. 打印出所有&quot;水仙花数

    时间限制: 1 Sec  内存限制: 128 MB 提交: 695  解决: 352 [提交][状态][讨论版] 题目描述 打印出所有"水仙花数",所谓"水仙花数&quo ...

  9. 七牛对用户使用webp图片格式的使用建议

    Qiniu 七牛问题解答 Chrome浏览器是可打开WebP格式的.可是并非全部的浏览器都支持webp格式,比如360.ie等浏览器是不支持的. WebP格式,谷歌(google)开发的一种旨在加快图 ...

  10. BibTex (.bib) 文件的凝视

    1) 将某个參考文献所有去掉,能够去掉前面的『@』 样例 @article{##,    author = {###},    title = {###},    journal = {###},   ...