我正在尝试根据使用PhoneGap/Cordova Camera Plugin从设备图库中选择的图像在我的应用中设置img标记的来源.
它以前在旧版本的Android(3.3)上工作,并且可以在iOS上正常工作,但现在无法解析4.4(KitKat)上的图像路径.
返回的图像URL的返回路径如下所示:
content://com.android.providers.media.documents/document/image%3A352
Run Code Online (Sandbox Code Playgroud)
当我使用此路径通过JavaScript设置为图像src时,无法解析URL,从而产生加载错误.使用相机拍照时没有问题,只有在从画廊中选择现有照片时才会出现这种情况.
我已尝试编码到base64并尝试了文档中提到的方法,resolveLocalFileSystemURI();但我没有运气这些.我也试过删除相机插件并重建应用程序,但没有快乐.
我的猜测是KitKat处理图库的方式发生了变化,PhoneGap/Camera插件尚未更新以适应这种情况.
我有一个可在iOS和Android上运行的Phonegap应用程序.该应用程序具有Facebook登录功能,直到几天前一直工作.我们的一些beta测试人员报告了"无法完成com.facebook.sdk错误2的操作"错误.这些测试仪的设备各不相同:iPhone 5,iPhone 4s,iPod Touch,iOS 5.1.1和iOS 6.0.
我们使用最新的Facebook SDK和Phonegap Facebook登录插件(https://github.com/davejohnson/phonegap-plugin-facebook-connect/).
我做了一些研究,发现了以下可能导致此错误的原因:
以下是这种情况:
这是一个非常不一致的错误(在我的情况下).如果我在"允许这些应用程序使用您的帐户"中关闭应用程序(在我的情况下应用程序列在那里),我自己只能重现错误,但我可以通过再次允许应用程序轻松修复错误.目前大多数测试人员都没有这个错误(不再),但错误仍然存在于iPod上(该应用程序未在"允许这些应用程序使用您的帐户"中列出).
有谁知道为什么我有这个bug?
我目前正在构建一个新闻聚合器应用程序,我正在使用InAppBrowser让人们阅读这些文章.现在,我的问题是:我可以删除URL和导航栏吗?另外,我可以更改"完成"按钮文字吗?
请告诉我...
谢谢

我有一个新创建的Cordova项目,具有以下config.xml设置(使用http://docs.phonegap.com/en/edge/config_ref_images.md.html中的说明).我还添加了2个平台(iOS和Android).
当我运行cordova run ios或者cordova run android,项目仍然有默认的Cordova图标.我从文档中了解到,Corodva应该根据icon.png我提供的内容自动创建图标config.xml.
config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.testapp" version="1.1.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>SingleApp</name>
<preference name="DisallowOverscroll" value="true" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="Orientation" value="portrait" />
<preference name="Fullscreen" value="false" />
<preference name="target-device" value="handset" />
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<icon src="icon.png" />
</widget>
Run Code Online (Sandbox Code Playgroud) 我编写了一个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() > 0) {
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想从这堂课开一个新的活动.如何访问基于phonegap的课程的原始上下文?
我在app中使用phonegap facebook连接插件(https://github.com/Wizcorp/phonegap-facebook-plugin)进行Facebook身份验证.它一直工作到今天早上.现在突然它停止工作并为iOS和Android的不同设备提供如下错误:
对于Android:
您尚未登录.您尚未登录.请登录并重试.
对于iOS:
应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL.要使用此URL,您必须在应用程序的设置中添加有效的本机平台
我正在使用以下代码config.xml:
<gap:plugin name="com.phonegap.plugins.facebookconnect" version="0.9.0">
<param name="APP_ID" value="99885XXXXXXXXX" />
<param name="APP_NAME" value="Test App" />
</gap:plugin>
Run Code Online (Sandbox Code Playgroud)
facebook来电:
function fbLogin() {
facebookConnectPlugin.login(
["public_profile", "email"],
function (response) {
var OAuthToken = response.authResponse.accessToken;
var OAuthAccessToken = response.authResponse.userID;
if (response.authResponse) {
facebookConnectPlugin.api('/me', null,
function (me_response) {
alert("Success: " + me_response);
facebookConnectPlugin.logout(function (response) {}, function (response) {});
});
}
},
function (response) {
alert("Error: " + me_response);
}
);
}
Run Code Online (Sandbox Code Playgroud)
不知道这里有什么问题.
我正试图通过PhoneGap应用程序在Safari(在iPhone上)打开链接.我正在使用PhoneGap 3.1.0版,并使用PhoneGap Build来构建应用程序.
我在页面上有两个链接(如下面的www/index.html所示).两个链接都在PhoneGap应用程序内打开.我可以看到PhoneGap已正确加载,因为警报('设备就绪!'); 被触发了.
我需要更改什么,在默认浏览器中打开链接(在应用程序外部)?
该WWW/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="com.company.appname" version="0.0.3">
<name>AppName</name>
<description>description</description>
<author href="http://www.example.com/" email="hello@example.com">
Company
</author>
<preference name="phonegap-version" value="3.1.0" />
<preference name="orientation" value="portrait" />
<preference name="stay-in-webview" value="false" />
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.2.3" />
<gap:plugin name="org.apache.cordova.dialogs" version="0.2.2" />
<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.0.5" />
<plugins>
<plugin name="InAppBrowser" value="CDVInAppBrowser" />
</plugins>
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
<access origin="*" />
</widget>
Run Code Online (Sandbox Code Playgroud)
该WWW/index.html的文件看起来像这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, …Run Code Online (Sandbox Code Playgroud) 我有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;
DB.initDB = function(callback) {
this.setupCallback = callback || function(){/*console.log("null function called")*/};
this.openDB();
var db = this;
if(!isPhoneGap()) {
_.delay(this.checkDB.bind(this), 500);
}
}
DB.checkDB = function() {
var db = …Run Code Online (Sandbox Code Playgroud) 我正在开发phonegap应用程序,我需要将图像从URL保存到设备照片库.
我在Phonegap Api上找不到这样做的方法,而且我没有为此找到phonegap插件.
我需要它与Iphone和Android合作
非常感谢!
我使用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);
});
});
Run Code Online (Sandbox Code Playgroud)
当我在Android手机上部署应用程序时,该文件将成功创建,但我无法在我的设备上找到创建的文件.
虽然cordova.file.dataDirectory指向 file:///data/data/io.cordova.myappId/files/我设备io.cordova.myappId上的data>data路径,但该Android>data路径中不存在该文件夹,但存在于路径中.顺便说一句,我查都storage>Android>data>io.Cordova.myappId>files与storage>data>data该文件不存在.
这是因为:
创建的文件位于另一个地方,那么我在哪里可以找到它?
要么
因为它是私有的,我的文件管理器无法访问它,所以如何更改权限设置以获得公共文件?
cordova ×10
phonegap-plugins ×10
android ×6
ios ×4
facebook ×2
javascript ×2
inappbrowser ×1
java ×1