pip install

UC浏览器插件是个什么玩意?

如图所看到的,便是UC的插件面板。 UC通过开放浏览器插件api, 使开发人员可以进行插件的开发。

插件种类:

1 : extension。 就是上图中显示的button 。 实际上也确实就是button, 通过点击来触发事件。

2  : receiver:  通过对各种浏览器事件进行监听来触发事件。

插件定义:

首先看一下我当前project的文件夹结构:

当建立一个androidproject后,仅仅有这四个地方须要进行配置。 首先在androidproject的配置文件AndroidManifest.xml中,须要增加例如以下代码:

<service android:name="com.uc.addon.sdk.remote.AddonService">
<intent-filter>
<action android:name="com.uc.browser.action.Addon"/>
</intent-filter>
</service>

这样插件才干被浏览器识别。

然后我们分别开发extension和receiver。 (有时依据需求仅仅需当中一个就够了)

首先是extension, 你的extension类必须继承于AbstractExtension类,而且override  onInvoke()方法 。

public class NewTabDemo extends AbstractExtension {

...
@Override
public void onInvoke(){
}
..
}

onInvoke中的内容就是点击该extension后触发的操作。

然后是receiver . 相对的,receiver须要继承AbstractReceiver 类,并重写onEvent方法:

public class MyEventReceiver extends AbstractEventReceiver{

	...
@Override
public void onEvent(int eventId , EventBase event){
if (eventId == EventIds.EVENT_PAGE_START) {
... } } }

没错,onEvent方法中便是要触发的操作。 这里注意,onEvent有两个參数,这个是浏览器传进来的。 当中eventId就是事件类型。

如上的Receiver监听的是页面载入事件,所以在onEvent内首先推断:

if (eventId == EventIds.EVENT_PAGE_START) 。。

详细的事件Id 将在本文最后给出。

自己定义完自己的extension和receiver后,须要在指定文件夹(參照我的文件夹结构)配置addon_config.xml。 以下是完整的xml:

<?xml version="1.0" encoding="utf-8"?>
<addon name="NewTab"
icon="addon/icon.png"
versionCode="1"
minSdkVersion="2.0"> <uses-permission name="addon.permission.TAB" />
<extension name="com.example.newtest.NewTabDemo"
description="New Tab"
location="AddonBar"
icon="addon/icon.png">
</extension> <uses-permission name="addon.permission.DIALOG" />
<uses-permission name="addon.permission.TOAST" />
<uses-permission name="addon.permission.PAGE" /> <event-receiver name="com.example.newtest.MyEventReceiver"
description="PageEventReceiver"
icon="icon.png">
<intent-filter>
<action name="addon.action.PAGE_EVENT"/>
<category name="addon.category.PAGE_START"/>
<data scheme="http" host="*" />
</intent-filter>
</event-receiver> </addon>

注意<uses-permission>标签,这里要填上插件所需的权限。 权限表将在本文最后给出。

另外,由于自己定义的插件easy被浏览器识别为不安全的而且秒删,所以请使用9.5之前的版本号。

UC+开放平台:

http://plus.uc.cn/document/plugin/doc1.html#U7efcU8ff0

这里能够找到api文档和简单的开发说明。

UC浏览器插件开发指引说明书:(内含权限说明)

http://download.csdn.net/detail/ltianchao/7786353



UC浏览器插件开发的更多相关文章

  1. 让你在PC上调试Web App,UC浏览器发布开发者版

    目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,UC使用技术将手机网页调试信息分离,实现一种能在大屏幕.高配置P ...

  2. 解决UC浏览器或微信浏览器上flex兼容问题

    在UC浏览器上使用display:flex;时会不起作用,要加上兼容性写法,如下 display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ disp ...

  3. UC浏览器 分享到朋友圈和微信好友 分类: JavaScript 2015-04-28 14:45 615人阅读 评论(1) 收藏

    用手机UC浏览器访问新浪微博,会注意到有这样的两个分享按钮: 在手机端浏览器里,点击分享按钮,就可以启动微信客户端并分享到微信.研究了下其源代码,存在这样的一个js:http://mjs.sinaim ...

  4. 用手机自带uc浏览器查看静态页面,css样式不显示

    问题描述: 这个问题是一个同事在写手机页面用UC浏览器测试以后遇到的,其他浏览器静态页面显示正常,唯独UC浏览器不显示页面样式. 我测试过代码是没有问题的,因为临时没有找到安卓手机,就猜想PC端的应该 ...

  5. 苹果浏览器和uc浏览器在移动端的坑(日常积累,随时更新)

    先mark 1 .  移动端uc浏览器不兼容css3 calc() 2 .  ie8下a标签没有内容给宽高也不能触发点击跳转 3 . safari输入框加上readOnly="ture&qu ...

  6. 如何使用 UC浏览器开发者版 进行移动端调试

    在 如何用 fiddler 代理调试本地手机页 一文中我们了解了如何用手机查看 PC 端写的网页(本地),但是我们只能看到页面效果,如果哪段 js 挂了,那部分样式失效了,我们该如何进行调试呢?今天为 ...

  7. 移动端UC浏览器和QQ浏览器的部分私有meta属性

    UC浏览器 1.设置屏幕横屏还是竖屏 <meta name="screen-orientation" content="portrait | landscape&q ...

  8. UC 浏览器远程调试手机web网页记录

    浏览器远程调试插件有很多,本来要使用chrome浏览器的调试插件的,但是需要FQ才能使用(公司网络有限制,果断放弃),最终选择使用UC浏览器的. 其实UC官网插件使用已经介绍的很详细了,但是有几处坑需 ...

  9. 移动端页面调试工具——UC浏览器开发者版

    在移动页面的开发中,我们很难像PC端那样很方便的调试,网上也有各种各样的调试方式.但在工作中,我主要还是用chorme自带的模拟器来模拟各种移动设备,但是用久了之后发现毕竟是模拟的,与真机调试还是会有 ...

随机推荐

  1. C#语音录制

    客服小妹是如何泡到手的——C#定时提醒·语音录制·语音播放·文件转录Demo——倾情奉献!   一.需求提出 客服小妹跟我说,每天要统计新加好友数,得先记下昨天的数目,然后查看今天的数目,还要相减,打 ...

  2. 分享几个免费的开源邮件server软件

    因为企业的须要,我们非常可能须要架设一个邮件server,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件server软件.希望你 ...

  3. 最简单的ADABOOST人脸检测程序。COPY执行,前提是你配置OpenCV周围环境

    #include "cv.h" #include "highgui.h" #include "stdio.h" void main() { ...

  4. UE4编码规范

    翻译原文为Unreal 的官方!自己看着总结了一下,不一定每条都能对上.不足之处,请多多不吝赐教! 原文地址:  unreal CodingStandard UE4编码规范 在Epic,有简单几条代码 ...

  5. java实现xml文件CRUD

    java删除xml多个节点: 方案1.你直接改动了nodeList.这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常.建议 ...

  6. Type mismatch: cannot convert from Enumeration&lt;String&gt; to Enumeration&lt;Object&gt;

    完整的错误信息: Description Resource Path Location TypeType mismatch: cannot convert from Enumeration<St ...

  7. Python re正则表达式

    参考: 博客园<Python正則表達式指南> 博客园<Python之re模块> 在此感谢博主的无私奉献,本文主要介绍python中re模块的几个简单使用方法.具体的使用方法请參 ...

  8. linux 手动安装 oracle(转)

    Linux下安装Oracle 11 此为参照CU论坛上的高人写的文章并结合自身环境增加了点细节性的东西 操作系统 CentOS 4.2 2.6.11.8内核 安装准备 下载Oracle11安装包 内存 ...

  9. Android 导入第三方jar时 出现ClassNotFoundException

    处理方式: 1.首先检查有没有正确的导入该jar和有没有重复导入该jar. 2.如果没有出现1的问题,那么在buildpath->order and export 中将你导入的jar左边的复选框 ...

  10. Gradle入门系列(转)

    Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因. 这篇文章是 ...