Cordova插件开发入门(1)
来源:互联网 发布:vb编程软件中文下载 编辑:程序博客网 时间:2024/05/18 18:00
很多时候官网的插件不足给我们使用、比如说:现在公司要正在做Phonegap的项目,要用到自主研发的一些技术,
那么这个技术是你们公司研发的,网上就根本不可能有这种插件了、那么就要开始学习cordova来自定义一个插件.
下面开始一个简单的例子
这个代码是我们公司的一个语音拨号、语音通知的插件,但是出于懒惰的原因,我就在这个上面加一个测试的tt,实现弹出一个吐司
/** * Author:View on 2015/12/30 10:21 * Class Synopsis: */public class VoicePlugin extends CordovaPlugin { private static final String VICEO_ACTION="viceo"; private static final String DIAL_ACTION="dial"; private static final String text="tt"; private static final String TAG=VoicePlugin.class.getSimpleName(); public VoicePlugin() { } @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { Log.e("ViewLog","get action is: "+action.toString()); Log.e("ViewLog","get args is: "+args.toString()); if(action.equals(VICEO_ACTION)){ //语音通知 ViceoAction(); Log.e("ViewLog ViceoAction","get args is: "+args.toString()); }else if(action.equals(DIAL_ACTION)){ //点击拨号 DialAction(); Log.e("ViewLog DialAction","get args is: "+args.toString()); }else if(action.equals(text)){ Toast.makeText(cordova.getActivity(),"Hello",Toast.LENGTH_SHORT).show(); } return false; } private void DialAction() { } private void ViceoAction() { } @Override public void initialize(CordovaInterface cordova, CordovaWebView webView) { super.initialize(cordova, webView); }
第二步:
在res/xml/config.xml下添加插件类(这里的name和以下的操作有关系)
<feature name="Voice"> <param name="android-package" value="com.sunrise.voice.VoicePlugin"></param> </feature>
第三步:
在assets/www/plugins下,建立一个包
com.sunrise.voice,在这个包下面建立一个xx.js(这里我建立问voice.js)
cordova.define("com.sunrise.voice.voice", function(require, exports, module) {var exec = require('cordova/exec');module.exports = { tt: function (successCallback, errorCallback, args) { exec(successCallback, errorCallback, "Voice", "tt", args); },};})
第四步:
在assets/www/cordova_plugins.js下添加插件配置
file:是第三步的文件路径
id:是第三步的 com.sunrise.voice.voice
merges:调用的方法
{ "file": "plugins/com.sunrise.voice/voice.js", "id": "com.sunrise.voice.voice", "merges": [ "navigator.voice" ] }
第五步:
在assets/www/index.html下开始测试
<script type="text/javascript" charset="utf-8"> document.addEventListener("deviceready", onDeviceReady, false); function goDial() { navigator.voice.tt(function success(res){},function error(e){},[1]) } </script> <body> <div class="app"> <p><a href="#" onclick="goDial(); return false;">Show Alert</a></p> </div> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body>
0 0
- Cordova插件开发入门(1)
- Cordova 插件开发(Android)
- Cordova 插件开发(plugin)
- Cordova插件开发(二)
- cordova 移动跨平台开发(三) ---- 插件开发(1)
- Cordova+Angularjs+Ionic混合开发入门篇(三)—— Cordova插件的创建与安装
- Cordova+Angularjs+Ionic混合开发入门篇(四)—— 插件的简单使用
- Cordova+Angularjs+Ionic混合开发入门篇(五)—— 插件的发布
- Cordova插件开发(Android、iOS)
- (2)cordova android自定义插件开发
- Cordova插件开发
- Cordova插件开发
- Cordova+ ios 插件开发
- Cordova插件开发
- 初识cordova插件开发
- cordova插件开发指南
- Cordova-Android 插件开发
- cordova插件开发
- 深入分析JavaWeb Item38 -- 监听器(Listener)快速学习
- Oracle:Authid Current_User的使用
- iOS开发 第一天 创建HelloWorld
- 安装Linux误格式化硬盘修复过程概述
- Android studio使用简单的GsonFormat插件
- Cordova插件开发入门(1)
- dw1000精度调节记录1
- XML解析三 使用PULL解析XML
- JS 替换 window.onload 的 document.ready
- Properties的使用
- 一个Mina实例
- 一个色谱的实现
- Hog特征
- C++笔记——多态原理探究