说白就是使用js调用java代码,蛮有意思的,不难看出phonegap的很多类库都是使用plugin的模式做的。
index.html
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
PhoneGap.exec(successFunction, failFunction, "MyPlugin","echo",["a","b"]);
}
function successFunction(e){
alert("success:"+e);
}
function failFunction(e){
alert("fail:"+e);
}
</script>
</head>
<body>
<h1>Example</h1>
Plugin
</body>
</html>
res/xml/config.xml
*这部需要注意一下,不要忘记配置
<plugin name="MyPlugin" value="com.fanfq.phonegap.plugin.MyPlugin"/>
src/com/fanfq/phonegap/plugin/MyPlugin.java
package com.fanfq.phonegap.plugin;
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class MyPlugin extends Plugin {
/**
* Executes the request and returns PluginResult.
*
* @param action The action to execute.
* @param args JSONArry of arguments for the plugin.
* @param callbackId The callback id used when calling back into JavaScript.
* @return A PluginResult object with a status and message.
*/
public PluginResult execute(String action, JSONArray args, String callbackId) {
try {
if (action.equals("echo")) {
String echo = args.getString(0);
if (echo != null && echo.length() > 0) {
return new PluginResult(PluginResult.Status.OK, "hello fanfq!");
} else {
return new PluginResult(PluginResult.Status.ERROR);
}
} else {
return new PluginResult(PluginResult.Status.INVALID_ACTION);
}
} catch (JSONException e) {
return new PluginResult(PluginResult.Status.JSON_EXCEPTION,"error");
}
}
}
附件中含完整工程,问题请留言。
分享到:
相关推荐
在这个场景中,我们关注的是一个名为`phonegap-plugin-barcodescanner`的插件,这是一个专门为PhoneGap/Cordova设计的扫码功能插件。 这个插件的主要作用是在iOS和Android等平台上实现条形码和二维码的扫描功能。...
"jpush-phonegap-plugin-master" 是一个针对 PhoneGap 框架的 JPush 插件,适用于 Ionic2 应用程序。PhoneGap 是一种跨平台的移动应用开发框架,它允许开发者使用 HTML、CSS 和 JavaScript 来构建原生的移动应用。...
**jpush-phonegap-plugin-2.0.3**这个版本可能包含了如下内容: 1. **版本更新**:可能修复了已知问题,增强了稳定性,或者新增了功能。 2. **API接口**:可能提供了新的API供开发者调用,如更丰富的推送选项或推送...
这个"Phonegap-Plugin样例"压缩包显然包含了用于学习和实践PhoneGap插件开发的资源,这对于初学者或者希望提升PhoneGap技能的人来说非常有价值。 PhoneGap的核心理念是利用Web技术开发移动应用,然后通过它的SDK将...
这通常通过使用Cordova CLI(命令行接口)来完成,命令可能类似于`cordova plugin add phonegap-plugin-local-notification`。安装完成后,就可以在JavaScript中使用这个插件提供的API来创建和管理本地通知。 例如...
PhoneGap插件条形码扫描仪 =============================== 适用于Cordova / PhoneGap的跨平台BarcodeScanner。 遵循,因此可与一起。 安装 ... phonegap plugin add phonegap-plugin-barcodesc
pushwoosh-phonegap-plugin, Pushwoosh PhoneGap构建插件 Cordova Pushwoosh推送通知插件 通过Pushwoosh为 cordova/phonegap跨平台推送通知 Cordova使用 npm ( 需要 cordova 7.0 ):cordova
PhoneGap插件条形码扫描仪=======================...安装这需要phonegap 7.1.0+(当前稳定的v8.0.0) phonegap plugin add phonegap-plugin-barcodescanner也可以通过repo url直接安装(不稳定) phonegap plugin add ...
1. 首先通过cordova 命令安装二维码扫描插件 cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git 2. 安装完插件后将二维码的lib包替换为zxing.lib,jar包在我上传的demo里面有。 3....
Couchbase-Lite-PhoneGap-Plugin, 在Couchbase或者Android上的PhoneGap应用中,安装Lite插件 用于 Couchbase Lite的插件Couchbase Lite是一个嵌入式的JSON数据库,用于偶尔连接的设备。 它在 background 中同步数据...
phonegap-plugin-push 注册并接收推送通知 警告 下面的链接将您带到2.x版文档,其中包括从1.x版开始的一些重大API更改,主要是从GCM到FCM的更改。 如果您使用的是1.x版本,请参考的文档。 这是什么? 该插件提供了...
jpush-phonegap-plugin jpush的phonegap插件,包括iOS和Android源代码以及js。 第一个版本仅为js添加setTagAndAlias函数,因此您可以在用户登录html应用程序后调用此函数。 我将尽快向js调用添加通知。
phonegap-bluetooth-plugin, 用于PhoneGap版本 2.6.0 的蓝牙插件 BluetoothPlugin用于 PhoneGap ( Android )的蓝牙插件。 测试版本 2.6.0和 3.0.0.笔记插件要求 Android API版本 15 ( Ice Cream Sandwich ) 正常工作...
在本项目“phonegap-android-plugin”中,重点是关于 Android 平台的 PhoneGap 插件的开发和适配。 描述中提到,“phonegap android plugin 里面有些插件不支持 3.*.*, 需要自己移植一下。”这表明该项目可能涉及到...
PhoneGap-KeepScreenOn-plugin 保持显示 - 禁用空闲计时器屏幕锁定 - 避免在应用程序运行时关闭屏幕。 Cordova / PhoneGap >= 3.0 的跨平台插件 支持的平台 安卓、iOS、亚马逊 FireOS 安装 科尔多瓦: cordova ...
phonegap-plugin-contentsync 下载并缓存远程托管的压缩...安装这需要phonegap 5.0+(当前稳定的v1.2.0) phonegap plugin add phonegap-plugin-contentsync也可以通过repo url直接安装(不稳定) phonegap plugin add ...
cordova plugin add https://github.com/Pushwoosh/pushwoosh-phonegap-plugin.git#8.1.1 电话间隙 使用npm(需要phonegap 7.1+): cordova plugin add pushwoosh-cordova-plugin@8.1.1 指导 文献资料 致谢 ...
phonegap-plugin-template 这是一个用于生成新插件以在PhoneGap / Apache Cordova应用程序中使用的工具。 开始创作新插件的大部分工作都可以自动化,因此这是此工具的目标。 如何使用它 // install it ( from ...
phonegap-plugin-wizAnalytics 支持 Cordova 3.3.*+描述用于访问原生广告和事件日志 SDK 的 Cordova 插件。 (仅限 iOS) 目前支持谷歌分析 3.03a 本地化 2.21.1 混音面板 2.3.1 乱舞 4.3.2 Apsalar 6.0.6 无广告SDK...