pip install
UC浏览器插件是个什么玩意?
如图所示,便是UC的插件面板。 UC通过开放浏览器插件api, 使开发者能够进行插件的开发。
插件种类:
1 : extension。 就是上图中显示的button 。 实际上也确实就是button, 通过点击来触发事件。
2 : receiver: 通过对各种浏览器事件进行监听来触发事件。
插件定义:
首先看一下我当前工程的目录结构:
当建立一个android工程后,只有这四个地方需要进行配置。 首先在android工程的配置文件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>标签,这里要填上插件所需的权限。 权限表将在本文最后给出。
另外,因为自定义的插件容易被浏览器识别为不安全的并且秒删,所以请使用9.5之前的版本。
UC+开放平台:
http://plus.uc.cn/document/plugin/doc1.html#U7efcU8ff0
这里可以找到api文档和简单的开发说明。
UC浏览器插件开发指引说明书:(内含权限说明)
http://download.csdn.net/detail/ltianchao/7786353