Articles of phonegap plugins

Javascript和Phonegap插件之间的异步通信

所以,每个人都知道我们创建一个类扩展CordovaPlugin并覆盖execute() ,然后在JS和本机Java(Android)之间创建一个桥梁。 此外,我们使用PluginResult将结果返回给JS。 因此,当从JS向Java插件发出请求时,所有这些都会发生。 我的问题是, 如何 异步 地将结果发送回JS (以及HTML) ? 我不知道异步这个词是不是就在这里。 问题是我想把一些东西发回给JS(比如,当wifi成为启用/禁用时)。 我已经研究过这个,但没有任何适合我的情况。 我试过的是 – 使用WifiManager类创建了一个BroadcastReceiver监听WiFi事件。 注册接收者。 最后,在启用/禁用WiFi时popupToast ,并使用CallbackContext发送结果 callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, “Wifi Connected”))以及与其他消息断开连接。 MyPlugin.java import org.apache.cordova.CallbackContext; import org.apache.cordova.CordovaPlugin; import org.apache.cordova.PluginResult; import org.json.JSONArray; … public class MyPlugin extends CordovaPlugin { private WifiReceiver wifiBroadcastReceiver = null; private CallbackContext callbackContext = null; … public MyPlugin() { wifiBroadcastReceiver = […]

Cordova File Plugin创建的文件的位置在哪里?

我使用Cordova File Plugin在移动设备上创建文件。 以下是创建文件的代码: window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) { alert(cordova.file.dataDirectory); dir.getFile(“log.txt”, { create: true }, function (file) { alert(“got the file: “+ file.name + ‘, ‘ + file.fullPath); }); }); 当我在Android手机上部署应用程序时,该文件将成功创建,但我无法在我的设备上find创建的文件。 尽管cordova.file.dataDirectory指向我设备上的file:///data/data/io.cordova.myappId/files/路径,但data>data路径中不存在io.cordova.myappId文件夹,但存在在Android>data路径中。 顺便说一句,我检查了storage>Android>data>io.Cordova.myappId>files和storage>data>data ,该文件不存在。 这是因为: 创建的文件位于另一个地方,那么我在哪里可以find它? 要么 因为它是私有的,我的文件管理器无权访问它,所以如何更改权限设置以获得公共文件?

PhoneGap 3插件:exec()调用未知插件“……”

我一直在尝试将插件升级到v3,并且我已经设法通过插件加载问题,并且我设法将插件暴露给客户端环境(对exec的工作方式进行更改等)。 但是当我看到adb logcat时 adb logcat | grep -v nativeGetEnabledTags | grep -i web 我收到此错误: D/PluginManager(11189): exec() call to unknown plugin: WebSocket 我无法弄清楚出了什么问题,我不确定为什么Android版本无法看到插件。 我已将所有代码推送到github仓库,所以如果有人能够复制并帮助我,我会非常欢迎! 我也试着写下我的转换经验,并在我点击它们时记录陷阱(自述文件中有一些,虽然它不完整): 这是回购: https : //github.com/remy/phonegap_test – 雷米

PhoneGap插件:将JSON数据传输到本机的最快方法

我一直在开发一个PhoneGap插件来启用WebGL,用于将HTML5游戏发布到移动设备。 它叫做WebGLGap 。 但是,PhoneGap调用插件代码的方式(通过exec)通常涉及将所有参数字符串化为JSON,然后再次在另一端解析它。 根据这个问题 ,即使在PhoneGap 2.2中也没有改变,后者被宣传为拥有更快的桥梁。 对于像WebGL这样的东西,即使对于简单的演示,这也是绝对站不住脚的并且会导致性能(<10 FPS)。 这是因为在许多情况下,特别是2D游戏,每个帧必须传输一大块JSON数据,表示要运行的所有WebGL命令。 这包括所有顶点数据 – 想象一个巨大的字符串“0.959455,0.959595,0.588575,0.585858 ……”等每一帧。 显然,字符串化和解析是一个不必要且低效的步骤,但我正在努力寻找一种方法将JSON数据从JS传递给本机,这避免了这一点。 理想情况下,这应该适用于Android和iOS,但我很高兴现在坚持使用仅限Android的解决方案。 有没有人对最有效的方法有任何想法?

如何使用Android的Phonegap SoftKeyboard插件?

我正在使用Phonegap开发一个Android应用程序。 我需要以软件方式显示软键盘。 我正在使用此处的SoftKeyboard插件。 任何人都可以告诉我如何正确包含此插件并使其工作? 我已经尝试了在Phonegap Wiki上find的教程,但该插件无效。 [更新]我已将插件添加到路径中 com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java 更新了plugins.xml并包含在内 然后在www文件夹中添加了softkeyboard.js ,以及index.html的以下内容 plugins.SoftKeyBoard.show(function () { // success },function () { // fail }); 但没有任何反应,键盘没有显示..

Phonegap – 将图像从url保存到设备照片库中

我正在开发phonegap应用程序,我需要将图像从URL保存到设备照片库。 我无法在Phonegap Apifind一种方法,而且我没有findphonegap插件。 我需要它与Iphone和Android合作 非常感谢!

Cordova PhoneGap从2.2.0升级到5.1.1

我有Cordova应用程序,版本2.2.0。 现在我要升级,我已经做了升级部分,升级后,应用程序图像不显示,它来了空白屏幕。 即使是闪屏也没来。 这是我的代码 现在我达到了某种程度。 我模拟的应用程序是关于SQLitePlugin问题。 当Open数据库说db.cordova没有定义时 如何安装数据库 – 将数据库从db文件夹复制到android安装位置。 这工作得很好。 这是我的数据库: var DB = new Object(); DB.isDBSupported = false; DB.isDBCreated = false; DB.vocabDB = null; DB.tables = [‘userResponses’, ‘wordGroups’, ‘words’, ‘wordMapping’, ‘checkExists’, ‘patch_version’] DB.createdTables = 0; DB.setupCallback = null; DB.curQP = null; DB.accountStatus = false; DB.sfx = true; DB.showWarnings = true; DB.firstLaunch = false; […]

从CordovaPlugin打开一个活动

我编写了一个CordavaPlugin派生类。 public class ShowMap extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if (action.compareTo(“showMap”) == 0) { String message = args.getString(0); this.echo(message, callbackContext); Intent i = new Intent(); return true; } return false; } private void echo(String message, CallbackContext callbackContext) { if (message != null && message.length() > […]

cordovajar在手机3.5.0缺less

之前我使用phonegap 2.7.0。 所以对于phonegap更新,我已经使用node.js安装了phonegap版本3.5.0,但是在phonegap文件夹中没有cordova jar文件。 如果我在ADT中创build项目,我该如何添加cordova.jar和cordova.js? 我无法在phonegap文件夹中看到任何jar文件。 即使如果我从命令提示符下创build项目,我没有看到我创build的项目中的任何phonegap jar文件和js文件。 任何人可以帮助我如何使用phonegap 3.5.0创build和运行我的第一个项目?

状态栏通知插件与cordova错误

我试图添加Cordova的状态栏通知插件到我的Android应用程序,但我得到一个错误,它的代码。 这是有问题的代码: Notification noti = new Notification.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon) .build(); 错误是在.build() ,Eclipse告诉我: “方法build()对于Notification.Buildertypes是未定义的”