标签: phonegap-plugins

"在科尔多瓦找不到'CDVPlugin.h'文件"作为组件(Cleaver)

我将Cordova添加为我的iOS项目的组件.添加自定义插件会导致错误,尽管该插件适用于仅限Cordova的项目:

'CDVPlugin.h' file not found
Run Code Online (Sandbox Code Playgroud)

问题部分如下:

#import <Foundation/Foundation.h>

#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

ios phonegap-plugins cordova

24
推荐指数
5
解决办法
4万
查看次数

分享一些东西到phonegap应用程序

有没有办法注册一个应用程序菜单中出现的phonegap应用程序?

在此输入图像描述

phonegap-plugins cordova phonegap-build

24
推荐指数
1
解决办法
1万
查看次数

Cordova - 当前的工作目录不是基于Cordova的项目

我正在为我的移动项目使用phonegap.我的问题是当我尝试使用cordova CLI搜索phonegap插件时出现此错误的原因?我在终端运行此命令来搜索phonegap插件

cordova plugin search bar code
Run Code Online (Sandbox Code Playgroud)

完整的错误消息

Last login: Wed Jan 22 15:04:09 on ttys000
Mohammads-MacBook-Pro:~ mohammadnurdin$ cd /Applications/MAMP/htdocs/rmbp/apps/rmbp/iphone/native
Mohammads-MacBook-Pro:native mohammadnurdin$ cordova plugin search bar code

/usr/local/lib/node_modules/cordova/src/util.js:57
            throw new Error('Current working directory is not a Cordova-based 
                  ^
Error: Current working directory is not a Cordova-based project.
    at Object.module.exports.cdProjectRoot (/usr/local/lib/node_modules/cordova/src/util.js:57:19)
    at CLI.plugin (/usr/local/lib/node_modules/cordova/src/plugin.js:28:36)
    at new CLI (/usr/local/lib/node_modules/cordova/src/cli.js:109:30)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/bin/cordova:41:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
Mohammads-MacBook-Pro:native mohammadnurdin$ 
Run Code Online (Sandbox Code Playgroud)

phonegap-plugins cordova

24
推荐指数
5
解决办法
4万
查看次数

在Ionic中接收ios的URL

我正在使用离子框架.我正在尝试设置一种方法来接收来自其他应用的网址.比如,您在浏览器中,单击共享,并将链接发送到另一个应用程序(我的应用程序).我找到了这个cordova插件,并将其集成到我的应用程序中.但这是Android的普及.我在IOS中需要相同的功能.

我知道哪个插件需要用于ios

我为Android采取的步骤

1)cordova插件添加git://github.com/Initsogar/cordova-webintent.git 2)检查config.xml文件并找到webintent的代码

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

和app.js代码

if (window.plugins && window.plugins.webintent) {
  window.plugins.webintent.getUri(function(url) {
    alert("getUri url:"+url);
  });
}
Run Code Online (Sandbox Code Playgroud)

在ios中对功能相同的任何建议?

谢谢

ios phonegap-plugins cordova ionic-framework ionic

23
推荐指数
2
解决办法
5459
查看次数

升级cordova:无法再从git urls安装插件

我做了一个cordova/phonegap升级,现在我不能再从git urls安装插件了.有人经历过这样的问题,已经解决了这个问题

$ cordova plugin add https://github.com/dawsonloudon/VideoPlayer.git
Fetching plugin "https://github.com/dawsonloudon/VideoPlayer.git" via git clone
Repository "https://github.com/dawsonloudon/VideoPlayer.git" checked out to git ref "master".
shell.js: internal error
Error: EXDEV, cross-device link not permitted '/var/folders/xl/bkl76rm570gfsmjspfjgh45h0000gn/T/git/1434106220728/LICENSE'
    at Object.fs.renameSync (fs.js:554:18)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:77:8
    at Array.forEach (native)
    at Object._mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:53:11)
    at Object.mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/common.js:186:23)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/util/plugins.js:53:19
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44
Run Code Online (Sandbox Code Playgroud)

版本信息:

$ phonegap -v
5.0.0-0.28.1

$ cordova -v
5.1.1
Run Code Online (Sandbox Code Playgroud)

OSX 10.10.3

编辑:如果我将我的存储库移动到我的主目录(〜/)似乎它的工作原理.

phonegap-plugins cordova

23
推荐指数
3
解决办法
1万
查看次数

如何使用Android的Phonegap SoftKeyboard插件?

我正在使用Phonegap开发一个Android应用程序.我需要以软件方式显示软键盘.我正在使用此处的SoftKeyboard插件.任何人都可以告诉我如何正确包含此插件并使其工作?我已经尝试了在Phonegap Wiki上找到的教程,但该插件无效.

[更新]我已将插件添加到路径中

com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java

更新plugins.xml并包含在内

<plugin name="SoftKeyBoard" value="com.zenexity.SoftKeyBoardPlugin.SoftKeyBoard"/>
Run Code Online (Sandbox Code Playgroud)

然后在www添加的文件夹中softkeyboard.js,以及下面的内容index.html

plugins.SoftKeyBoard.show(function () {
    // success
},function () {
   // fail
});
Run Code Online (Sandbox Code Playgroud)

但没有任何反应,键盘没有显示..

javascript android phonegap-plugins cordova

22
推荐指数
2
解决办法
1万
查看次数

Phonegap应用程序出错:未定义模块cordova/plugin_list已定义

我一直试图解决从Phonegap 2更新到Phonegap 3.3的许多问题,但我似乎无法解决这个问题.

我从一些用户那里读到,未捕获的模块异常会导致导入的插件停止运行.我有一些奇怪的错误与本地通知插件,所以我想解决这个问题,看看它是否有帮助.

这是Eclipse中logcat中出现的错误:

[INFO:CONSOLE(79)] "Uncaught module cordova/plugin_list already defined", source: file:///android_asset/www/cordova.js (79)
Run Code Online (Sandbox Code Playgroud)

我知道这是一个奇怪的问题,因为Phonegap 3的性质(插件已被重做).我认为问题在于导入cordova_plugins.js脚本,因为该脚本的顶行如下:

cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
    "file": "plugins/org.apache.cordova.file/www/DirectoryEntry.js",
    "id": "org.apache.cordova.file.DirectoryEntry",
    "clobbers": [
        "window.DirectoryEntry"
    ]
}, ...
Run Code Online (Sandbox Code Playgroud)

这是唯一可以找到错误中引用的cordova/plugin_list存在的地方.

但是,我不确定解决此问题的正确方法.我没有使用plugman来导入我的插件,而是使用Phonegap 3.3 API中概述的CLI命令

android phonegap-plugins cordova cordova-3

22
推荐指数
2
解决办法
3万
查看次数

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

我一直在开发一个PhoneGap插件来启用WebGL,用于将HTML5游戏发布到移动设备.它叫做WebGLGap.但是,PhoneGap调用插件代码的方式(通过exec)通常涉及将所有参数字符串化为JSON,然后再次在另一端解析它.根据这个问题,即使在PhoneGap 2.2中也没有改变,PhoneGap 2.2被宣传为拥有更快的桥梁.对于像WebGL这样的东西,这绝对是站不住脚的,即使对于简单的演示也会导致性能下降(<10 FPS).这是因为在许多情况下,特别是2D游戏,每个帧必须传输一大块JSON数据,表示要运行的所有WebGL命令.这包括所有顶点数据 - 想象每一帧的巨大字符串"0.959455,0.959595,0.588575,0.585858 ......"等.

显然,字符串化和解析是一个不必要且低效的步骤,但我很难找到一种方法将JSON数据从JS传递给本机,这避免了这一点.理想情况下,这应该适用于Android和iOS,但我很高兴现在坚持使用仅限Android的解决方案.有没有人对最有效的方法有任何想法?

javascript android phonegap-plugins cordova

21
推荐指数
2
解决办法
4915
查看次数

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

所以,每个人都知道我们使一个类扩展CordovaPlugin并覆盖它 execute(),然后在JS和本机Java(用于Android)之间创建一个桥梁.我们进一步使用PluginResult将结果返回给JS.

因此,当JS向Java插件发出请求时,所有这些都会发生.我的问题是,如何异步地将结果发送回JS(以及HTML)

我不知道异步这个词是不是就在这里.问题是我想把一些东西送回JS(比如,当wifi变为启用/禁用时).

我已经研究过这个,但没有任何适合我的情况.

我试过的是 -

  • 创建了使用该类WiFi监听WifiManager事件Toast.
  • 注册接收者.
  • 最后,启用/禁用弹出WiFi时间CallbackContext,并使用callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, "Wifi Connected"))

    Toast和发送结果 与不同的消息断开连接.

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 = new WifiReceiver();
    ...
    }
    ...
    public boolean execute(String action, …
Run Code Online (Sandbox Code Playgroud)

java android phonegap-plugins cordova

20
推荐指数
2
解决办法
2万
查看次数

iOS状态栏重叠内容

我已经构建了phonegap应用程序,它在android和windows上运行良好.但对于iOS我面临的问题是,状态栏内容和页面内容混淆,因此我无法点击标题中提供的后退按钮.任何人都可以帮我解决这个问题吗?

这是我的config.xml文件

   <?xml version="1.0" encoding="UTF-8"?>
<widget xmlns   = "http://www.w3.org/ns/widgets"
        xmlns:gap   = "http://phonegap.com/ns/1.0"

        id        = "io.example.com"
        version     = "1.0.2">
    <name>MyAPP</name>

    <description>

    </description>

    <author  email="rakesh@gmail.com">
        Rakesh
    </author>

    <access origin="*"/>


    <content src="index.html" />


    <preference name="target-device" value="universal" />   <!-- all: possible values handset, tablet, or universal -->
    <!-- <preference name="fullscreen" value="true" />  -->          <!-- all: hides the status bar at the top of the screen -->
    <preference name="webviewbounce" value="false" />        <!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->
    <preference …
Run Code Online (Sandbox Code Playgroud)

ios phonegap-plugins cordova ios-statusbar

20
推荐指数
2
解决办法
2万
查看次数