Tag: cordova

(IOS)cordova相机插件参考删除的图像

我正在构build一个cordova应用程序(主要用于iOS和Android),用户可以在该应用程序中拍摄图像,重新拍摄(等)并将其保存到本地。 我目前正在与cordovacameraPlugin奋斗。 所以,这里是对问题的简短描述。 当用户拍摄图像时,将其保存在应用程序的临时文件夹中,用户可以在UIWebView中查看。 重新拍摄时,图像将从临时文件夹中删除,不应再有效(在RAM和本地FS中)。 只要用户不重拍图片2次或更多次,只要他做了,而不是最后一张图片,第一张图片将在WebView中被引用/渲染。 重新打开应用程序后,图像显示正确。 一个例子: 用户拍摄第一张图片。 ==> cdv_photo_001.png 第二。 ==> cdv_photo_002.png和第一个将被删除(这似乎工作正常) 第三个 ==> cdv_photo_001.png,第二张图片将被删除。 第三张图像看起来与第一张相同。 第三个之后的每个图像都会发生这种情况。 重新启动应用程序后,它工作正常 我已经尝试禁用应用程序caching,在更新图像之前删除应用程序caching,刷新页面并在线查找答案。 打开相机UI时出现错误,但找不到解决方法。 对未呈现的视图进行快照会产生空的快照。 确保您的视图在屏幕更新后的快照或快照之前至less已呈现一次。 相机的代码Call: function getPhoto() { navigator.camera.getPicture(getPhotoOnSuccess, getPhotoOnFail, { quality: 25, destinationType: Camera.DestinationType.FILE_URL, correctOrientation: true, encodingType: Camera.EncodingType.PNG }); } 在getPhotoOnSuccess我基本上保存的图像path到数据库,并附加到jQuery的视图。 并删除图像的代码:(旁注我对目标C新) – (void) deleteImageByPath:(NSString *)imagePath withSelector:(SEL)selector{ NSError *error = nil; NSFileManager *mgr = […]

Phonegap等待数据库事务完成

我正在创build一个将在第一次运行时执行不同的Phonegap应用程序。 我正在检测第一次运行的方式是通过查看其中一个数据库表存在。 正如你可能从下面的代码中可以看出,我正在检查(可能)表示表已经存在的错误,从而certificate这不是应用程序的第一次运行。 function databaseExists(){ var exists; database.transaction(function(tx){ tx.executeSql('CREATE TABLE GLOBAL (uid, property, value)'); }, function(err){ exists = true; }, function(){ exists = false; }); return exists; } 然而,我的问题是,JavaScript代码的asynchronous执行意味着函数在成功(或错误)函数设置它的值之前返回其值。 这个函数在应用程序的初始化阶段被调用: if (databaseExists()){ // Do Something } 因此必须返回值而不是执行交易成功callback中的函数。 有没有办法强制执行,直到数据库事务完成或通过database.transaction对象返回值? 在此先感谢乔恩

Phonegap事件简历

我正在尝试加载XML数据,一切正常,但我想在设备恢复时重新加载XML数据。 这是我的代码,我不知道在哪里粘贴function,在简历上加载。 感谢您的build议;-) var TITLE = "Example"; var XMLsoubor = "example.xml"; var entries = []; var selectedEntry = ""; //listen for detail links $(".contentLink").live("click", function () { selectedEntry = $(this).data("entryid"); }); //Listen for main page $("#mainPage").live("pageinit", function () { //Set the title $("h1", this).text(TITLE); $.ajax({ url: XMLsoubor, success: function (res, code) { entries = []; […]

cordovaiOS自定义插件:处理内存警告

我正在开发一个使用cordova(2.1)的iOS应用程序,以及一些自定义插件。 我试图面对的问题如下:当我显示我的插件(基本上是一个相机插件比内置的cordova插件更多的function)有时我收到一个内存警告,并随之卸载包含webview的视图。 这对我来说是一个非常大的问题,因为一旦我的imagePicker被解雇,webview不会被恢复。 我看了一下CDVCamera的插件源,我注意到了这一点: (1)插件保存webview: // we need to capture this state for memory warnings that dealloc this object cameraPicker.webView = self.webView; 在这里我不明白发生了什么,好的我们保存webview万一有内存警告它将被卸载,但我无法弄清楚如何/在框架中的webview恢复。 (2)插件使用一个名为hasPendingOperation的Bool属性,这个属性如果我理解的话,在接收到内存警告时被CDVViewController使用,以避免插件激活时清除内存。 我不明白的第一件事是以下为什么当我的控制器收到内存警告超级控制器(CDVViecontroller)没有收到它? 其次,是否可以将CDVCamera插件使用的模式与CDVViewController结合使用来处理自定义插件中的内存警告? 任何帮助pipe理与cordova的内存警告,以避免webview被卸载将不胜感激。

PhoneGap地理位置在iOS10中被阻止

我的Phonegap应用程序利用(cordova3.8)网页浏览“W3C地理定位API”。 从iOS 9.x升级到iOS 10(beta)后,使用 navigator.geolocation.getCurrentPosition(…) 现在返回一个错误: 对http:// localhost的不安全连接阻止访问地理位置。 错误(2):Origin没有使用Geolocation服务的权限 我目前不使用cordova白名单插件 。 会使用这个帮助还是有一个更简单的修复?

ios phonegap不允许overscroll不能正常工作

我目前正在开发一个应用程序使用phonegap,jQuery的移动多个平台。 我已经search了很多,以禁用phonegap的overscroll效果。 根据我的search,这可以通过在confix.xml中设置首选项来实现 <preference name="DisallowOverscroll" value="true" /> 此外,我已经使用JavaScript代码允许身体滚动,但这是不正常工作。 下面是我用来允许滚动的代码。 .scrollable { overflow: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; } .scrollable * { -webkit-transform: translate3d(0,0,0); } document.body.addEventListener('touchmove',function(e){ if(!$(e.target).hasClass("scrollable")) { e.preventDefault(); } else { console.log("Scrollable"); } }); 有没有办法解决这个问题了

Video.js在iOS上的文件加载期间暂停

我有一个用PhoneGap / Cordova编写的应用程序(1.8.1,直到我敢升级到2.3.0)在iOS和Blackberry上运行。 当我尝试启动video播放时,应用程序会切换到video播放器(我们使用JQuery和JQuery Mobile)的video“页面”div,并设置目标video的URL。 播放器的目的是播放以前下载到本地文件系统的文件,但目前甚至不会播放来自networking的文件。 我已经为video播放器上的所有事件添加了监听器,我可以看到一个“loadstart”事件,然后什么都没有。 初始化如下: HTML: <video id="video_player" class="video-js vjs-default-skin noscroll" controls preload="none"> JavaScript – 初始化: var DEFAULT_OPTIONS = { controls: true, autoplay: false, preload: "none", loop: false }; var videoPlayer = null; try { videoPlayer = _V_("video_player", DEFAULT_OPTIONS, function() { log("Video ready"); }); } catch (error) { dumpError("Problem with initialisation", error); […]

cordova应用程序(iOS)中的iframe history.back()问题

我正在使用Cordova开发Android和iOS的应用程序。 页面结构如下。 – 页面A(没有iframe) – 页面B(带iframe) 转变 1.页面A – >页面B(向前) 2.页面A – 页面B(由history.back()向后) iframe显示外部网页。 当它回到页面B(w / iframe)的页面A(没有内联框架)时,我必须调用hisotory.back()两次。 但是,由相同的JavaScript源生成的Android应用程序只需要调用history.back()一次。 另外,使用iOS的原生WebVIew(UIWebView)时,也不会出现类似的问题。 这是一个cordova(iOS)规格或错误? 有没有人遇到过这个问题? 版本 cordova4.2(iOS平台3.8.0) iOS 8.3 谢谢。

在与Cordova使用相机之后,会收到iOS内存警告

当我拍照时,我开始不断地收到记忆警告。 我使用cordova3.5和相机插件与这些设置。 var _config; var pictureSource; var destinationType; // sets the format of returned value. var encodingType; // enconding type 0=JPG 1=PNG /** * Initialize camera plugin. * @param {object} config – settings. */ function initialize(config) { alert("CAMERA is comming!!"); // Wait for Cordova to connect with the device document.addEventListener('deviceready', onDeviceReady, false); } /** * […]

本地通知应用程序崩溃模拟器

我正在使用ng-cordova的本地通知插件( https://github.com/katzer/cordova-plugin-local-notifications/ )作为一个离子项目: 这是我的控制者: .controller('DashCtrl', function($scope, $state, $cordovaLocalNotification) { $scope.addNotification = function() { $cordovaLocalNotification.add({ id: 'some_notification_id' // parameter documentation: // https://github.com/katzer/cordova-plugin-local-notifications#further-informations-1 }).then(function() { console.log('callback for adding background notification'); }); }; $scope.checkIfIsTriggered = function() { $cordovaLocalNotification.isTriggered('some_notification_id').then( function(isTriggered) { alert('isTriggered'); }); }; }) 在应用程序以ng-click开头时加载的默认视图上有一个button,如下所示: <button ng-click="addNotification();" class="button button-stable">button-stable</button> 但是,当我在模拟器中运行应用程序,并点击button,应用程序崩溃与以下错误消息: : *** Terminating app due to uncaught exception […]