本文目的:通过一个简单的本地通知插件开发来熟悉PhoneGap插件开发流程
PhoneGap(Cordova)是一个用来搭起js & html与原生Android沟通的桥梁,在phoneGap中,所有的js与原生android代码交互都通过插件机制完成。官方发布的phoneGap中已经提供了一些常用的插件,但这些插件在实际应用中还远远不够,仍然需要自行扩展大量的插件来满足应用的需求。在phoneGap中,开发一个插件是一件相当简单的事情,在本文提到的本地通知插件中,包含了一个send函数,用来调用Android原生的Notification在任务栏发出通知信息,该函数接收的JsonArray格式为[title,text],即通知的标题和内容信息。
后台插件类代码为:
public class NotificationPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if ("send".equals(action)) { NotificationManager manager = (NotificationManager) this.cordova .getActivity().getSystemService( Context.NOTIFICATION_SERVICE); String title = args.getString(0); String text = args.getString(1); System.out.println("需要发送的信息..." + text); Notification notification = new Notification(R.drawable.icon, text, System.currentTimeMillis()); notification.setLatestEventInfo(this.cordova.getActivity(), title, text, PendingIntent.getActivity(this.cordova.getActivity(), 0, this.cordova.getActivity().getIntent(), 0)); manager.notify(1, notification); return true; } else { return false; } } }
将该插件注册给PhoneGap:
<feature name="Notify"> <param name="android-package" value="org.dylan.phonegap.plugins.NotificationPlugin"/> </feature>
前台的插件注入代码为:
(function(cordova) { var define = cordova.define; define("cordova/plugin/notify",function(require, exports, module){ var argscheck = require('cordova/argscheck'), exec = require('cordova/exec'); exports.send=function(message,successCB,failCB){ argscheck.checkArgs('AFF', 'notify.send', arguments); console.log("send notification["+message[1]+"]"); if (!message) { failCB && failCB("请输入要通知的信息."); } else { exec(successCB, failCB, "Notify", "send", message); } }; }); cordova.addConstructor(function() { if (!window.plugins) { window.plugins = {}; } console.log("将插件注入cordova..."); window.plugins.notify = cordova.require("cordova/plugin/notify"); console.log("注入结果:" + typeof(window.plugins.notify)); }); })(cordova);
在应用中使用该插件的示例如下:
var msg = ["新消息","消息内容"]; window.plugins.notify.send(msg,function(){ alert("成功"); },function(msg){ alert(msg || "失败"); });
相关推荐
Cordova-APP软件及其插件开发.pdf
cordova调用安卓原生activity插件 使用简介 JS端使用方式 //sendData表示要从js端发送到原生activity的数据,需用json对象传输 var sendData = { id:10001, name:"Simon", age:28 }; window.cordova.plugins....
Android Cordova 插件开发之编写自定义插件源码
cordova-screenshot cordova截屏插件 document.addEventListener("deviceready", init, false); function init() { document.querySelector("#share").addEventListener("touchend", function() { navigator....
cordova-plugin-baidumaplocation插件开发百度地图定位功能与地图的显示、图片懒加载,demo
cordova-android保存图片插件,不知道为何不适用ios,仅供参考
Cordova / PhoneGap的BackgroundNotification插件( 。 注意您的推送通知消息必须包含键“ content-available”:1 遵循,因此可与一起。 该插件利用了Cordova / PhoneGap的。 使用插件 插件使用configure...
Cordova 本地通知插件本地通知的基本目的是使应用程序能够在应用程序不在前台运行时通知其用户它有一些东西给他们——例如,一条消息或即将到来的约会。 它们由应用程序调度并在同一设备上交付。它们如何呈现给用户...
cordova 2.9 3.3 jar 2.9源码
Cordova 本地通知插件 本地通知的基本目的是使应用程序能够在应用程序不在前台运行时通知其用户它有一些东西给他们——例如,一条消息或即将到来的约会。 它们由应用程序调度并在同一设备上交付。 它们如何呈现给...
本地通知一个简单的cordova localnotification插件cordova.plugins.localNotify.notify(标题,内容);
Cordova本地通知插件 本地通知的基本目的是使应用程序能够在不运行于前台的情况下通知其用户有适合他们的内容(例如,消息或即将到来的约会)。 它们由应用程序调度,并在同一设备上交付。 它们对用户的显示方式 ...
cordova安卓版图片多选插件,支持选择图库,图片路径回传到javascript,插件样式已经调好,无需调整样式
cordova android 自动更新update 插件 ,包含使用说明!下载后,利用cordova命令安装!
但是如果您的移动端应用是基于cordova开发的话,上面提供的所有内容离你将该功能落地还差最后一公里, 本文档就是为解决这个最后一公里而生的。 全套代码实例 详见 ...
cordova.js 是phonegap开发必备插件JS包 cordova.js 是phonegap开发必备插件JS包
Cordova 本地通知插件包装器(具有 Service Worker 支持) 这是符合标准 Web 通知 API 的的包装器。 此插件还允许在服务工作线程脚本中使用本地通知。 插件状态 基本通知 API IOS 安卓 服务工作者功能 IOS 示例...
Android 移动端混合开发之Cordova 常用命令及插件,包括安装、调试及运行,及插件开发命令,设备查找命令
Cordova开发中,插件调用都只能调用本地的html,这个功能就是为了Cordova能调用远程的HTML页面,这样的话,一些逻辑可以放在服务器上,不需要全部打包放在app中,同时远程的html可以调用插件,调用方式同一般的...
:backhand_index_pointing_right: 通知是您在应用的常规UI之外向用户显示的消息。 当您告诉系统发出通知时,它首先在通知区域中显示为图标。 要查看通知的详细信息,用户可以打开...该插件创建对象cordova.plugins.