我目前正在使用Cordova(Phonegap),Backbone和JQtouch开发webapp.除此之外,我需要在用户日历中添加事件.
在Android上一切正常.我还在使用Cordova 2.0.0.(我没有升级到最新版本).滚动工作,导航正常,我可以在我的日历中添加事件!
在iPhone上,它是不同的.由于我希望我的应用程序在iOS 6上运行,因此我在Mac上安装了Cordova 2.2.0.从那以后,我再也无法在日历中添加事件了.它使用cordova 2.0.0(在iphone上),但现在不行.
经过调查,我发现cordova.exec()未定义.
我搜索了很多关于这个问题的内容,但似乎没有人,除了我,现在遇到了这个问题.
以下是使用Cordova 2.0.0但不支持Cordova 2.2.0的代码示例:
calendar.js,Cordova的日历插件.我没有写.在Android上我得到消息"cordova.exec已定义",而在iOS上我得到了另一个.
// Cordova Calendar Plugin
// Author: Felix Montanez
// Created: 01-17-2012
// Contributors:
// Michael Brooks
function calendarPlugin()
{
}
calendarPlugin.prototype.createEvent = function(title,location,notes,startDate,endDate)
{
if('function' == typeof(cordova.exec)) {
alert("cordova.exec is defined");
} else {
alert("cordova.exec is not defined");
}
cordova.exec(null,null,"calendarPlugin","createEvent", [title,location,notes,startDate,endDate]);
};
calendarPlugin.install = function()
{
if(!window.plugins)
{
window.plugins = {};
}
window.plugins.calendarPlugin = new calendarPlugin();
return window.plugins.calendarPlugin;
};
cordova.addConstructor(calendarPlugin.install);
Run Code Online (Sandbox Code Playgroud)
调用函数createEvent的代码(它正在工作,因为我得到了上一个警报)
if (confirm('Do you want …Run Code Online (Sandbox Code Playgroud) Microsoft(R)Windows脚本宿主版本5.8版权所有(C)Microsoft Corporation.版权所有.
Creating new android project...
Building jar and js files...
Copying template files...
Copying js, jar & config.xml files...
Copying cordova command tools...
Updating AndroidManifest.xml and Main Activity...
Run Code Online (Sandbox Code Playgroud)
<plugin name="Notification" value="org.apache.cordova.Notification"/>存在<script type="text/javascript">
app.initialize();
</script>
至
<script type="text/javascript">
function showAlert(msg){
navigator.notification.alert(msg);
}
document.addEventListener("deviceready", showAlert('You are the winner!'), false);
app.initialize();
</script>
Run Code Online (Sandbox Code Playgroud)
我得到以下错误
11-25 10:29:58.399: E/Web Console(14604): Uncaught TypeError: Cannot call …
我需要在基于PhoneGap 2.7的应用程序中播放视频.是否有可能使iO和Android的工作 - 涵盖当今大多数Android设备?
优选地,视频文件应该从本地位置播放,使得视频文件实际上是app的一部分.(其他视频文件可以在播放前下载和保存.)
我想弄清楚cordova/argscheck做了什么.我无法找到任何描述其用途以及如何使用它的文档.
我设法找到它的git repo但是代码中没有提到任何评论.我还看了几个插件,他们似乎使用它如下:
Device.prototype.getInfo = function(successCallback, errorCallback) {
argscheck.checkArgs('fF', 'Device.getInfo', arguments);
exec(successCallback, errorCallback, "Device", "getDeviceInfo", []);
};
Run Code Online (Sandbox Code Playgroud)
我使用phonegap.build,我需要在我的游戏应用程序上执行以下操作:
游戏一直被迫进行景观模式,它没有画布版本,这是ios和Android唯一的游戏,我用它与phonegap.
使用facebook-connect插件:
https://github.com/Wizcorp/phonegap-facebook-plugin
Run Code Online (Sandbox Code Playgroud)
我有一个对话框,用facebook-connect api打开:
facebookConnectPlugin.showDialog(对象选项,函数成功,函数失败)
我有的选择:
{
method: "apprequests",
message: "Come on man, check out my application."
}
Run Code Online (Sandbox Code Playgroud)
结果如下:

我有一个窗口问题,它以纵向模式打开,我有一个仅景观应用程序(这意味着用户,当提示到这个屏幕时,应该改变方向,这是一个不好的行为)
我搜索了几个小时的解决方案,没有运气.
现在,如果我让它保持这样,并按下"搜索更多朋友"输入,键盘将在横向模式下打开,这会导致这种尴尬的行为:

我的问题是:
1)有没有办法解决Facebook的风格?
2)如果不是1,是否可以通过config.xml中的任何配置(这是phonegap构建)或任何执行此类操作的插件来控制键盘的打开方式(横向或纵向)
3)如果不是全部,我有什么选择邀请朋友加入我的应用程序(邀请不是一个选项,这不是画布应用程序)
谢谢
facebook-graph-api phonegap-plugins cordova phonegap-build facebook-invite-friends
我正在尝试将cordgap Android应用程序从cordova 3.5.0更新到cordova 5.1.1,因为存在安全问题.当我启动应用程序时,我收到以下错误,但我无法理解它们来自哪里.你能建议在哪里调查吗?
W/System.err( 1672): org.json.JSONException: Value PluginManager at 0 of type java.lang.String cannot be converted to int
W/System.err( 1672): at org.json.JSON.typeMismatch(JSON.java:100)
W/System.err( 1672): at org.json.JSONArray.getInt(JSONArray.java:357)
W/System.err( 1672): at org.apache.cordova.CordovaBridge.promptOnJsPrompt(CordovaBridge.java:131)
W/System.err( 1672): at org.apache.cordova.engine.SystemWebChromeClient.onJsPrompt(SystemWebChromeClient.java:119)
W/System.err( 1672): at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:655)
W/System.err( 1672): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 1672): at android.os.Looper.loop(Looper.java:137)
W/System.err( 1672): at android.app.ActivityThread.main(ActivityThread.java:4745)
W/System.err( 1672): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 1672): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 1672): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
W/System.err( 1672): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
W/System.err( 1672): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 1672): org.json.JSONException: Value App at 0 …Run Code Online (Sandbox Code Playgroud) 我正在制作一个Phonegap应用程序.我的要求是根据用户是使用家庭网络还是公共网络向用户显示不同的视图.是否有任何插件或任何其他方式可以帮助获取连接的网络信息.(网络SSID).
谢谢.
我正在使用javascript和cordova框架开发移动应用程序.我的要求是用户在输入文本框中输入内容.这需要存储,以便用户不需要再次输入相同的文本.它应该已经作为列表或其他东西出现.我去了很多文档.有人能告诉我本地存储(HTML5存储Apis)和SQL Lite数据库有什么区别.我应该将哪一个用于此用例?
谢谢
我一直在努力打开窗口打开,在我的应用程序中使用inappbrowser.基本上,我使用phonegap作为包装器来加载具有特殊应用程序功能的移动皮肤CMS站点.
这是index.html.我正在使用inappbrowser(位置设置为no).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Emerald Test App</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width" />
<script src="phonegap.js"></script>
<script type='text/javascript'>
var ref = null;
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
var url = 'https://my-cms-site.com/content.aspx?page_id=31&org_id=1&app=1';
var target = '_blank';
var options = "location=no"
ref = cordova.InAppBrowser.open(url, target, options);
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想要做的是在系统浏览器中打开链接 - 从我通过inappbrowser加载的外部网站
我尝试使用类似的文档和来自帖子的建议来下载文件
<script type="text/javascript">
window.open(url, '_system');
</script>
Run Code Online (Sandbox Code Playgroud)
和_blank,并添加'location = no'等,但没有骰子.这些是从我的远程站点加载的外部页面.
单击这些链接后,它们将在同一浏览器(inappbrowser或webview)中打开并接管浏览器.我想要做的是在另一个系统浏览器(chrome,safari,无论如何)中打开它们.这将解决我的下载问题(因为文件有望在系统浏览器中打开,用户可以弄清楚如何处理它们). …
我正在尝试在使用Ionic构建的Phonegap Cordova应用中添加Google Firebase通知.我已经成功安装了Google Plus插件用于登录(我认为这将是一个有用的信息).
我只需要这个Firebase插件来完成我的工作,但是当我为Android构建我的应用程序时,我已被此错误拦截.
配置根项目'android'时出现问题.无法将任务':processDebugGoogleServices'添加为具有该名称的任务已存在.
我按照本教程设置了适用于Android的Cordova插件Firebase云消息传递
这是我编译的build.gradle文件,如教程所述:
apply plugin: 'com.android.application'
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
--------
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
debugCompile(project(path: "CordovaLib", configuration: "debug"))
releaseCompile(project(path: "CordovaLib", configuration: "release"))
compile "com.google.android.gms:play-services-plus:9.2.0"
compile "com.google.android.gms:play-services-identity:9.2.0"
compile "com.android.support:support-v4:+"
compile "com.android.support:appcompat-v7:+"
compile "com.android.support:appcompat-v7:23.2.1"
compile "com.google.firebase:firebase-messaging:9.0.2"
// SUB-PROJECT DEPENDENCIES END
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud) android phonegap-plugins cordova firebase firebase-cloud-messaging