Articles of cordova

Phonegap – 使用API​​function升级到3.0问题

使用Phonegap 3.0,Android平台在Windows上工作,在Eclipse中进行调试。 我能够让我的旧应用程序编译,但当我尝试使用现在是一个插件的function时,我遇到了一个新问题。 我已经通过CLI工具添加了我需要的所有插件,并将“feature”数据添加到config.xml文件中,因此我假设它们可以被调用。 权限也在清单文件中设置。 文件传输 我看到文件传输API示例代码没有更改为3.0,所以我在我的代码中保持相同的调用。 所以该文件将下载,但后来我收到一个错误,导致我的应用程序崩溃 ” D/CordovaLog(12883): file:///android_asset/www/phonegap.js: Line 932 : Uncaught Error: Error calling method on NPObject! ” 我做了一些搜索这个错误,似乎没有一个标准的解决方案? 也许有一种新方法可以调用插件中的function? 因为我不能播放音频文件而不会出错。 声音文件将播放但会导致错误。 ” 09-01 20:13:17.274: W/PluginManager(13279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 23ms. Plugin should use CordovaInterface.getThreadPool(). ” 我重新阅读了媒体API,没有提到线程池。 我正在使用javascript完成所有编程。 基本上我在哪里使用插件function,该应用程序有重大错误。 我尝试在我之前使用的应用程序中使用我的录制声音function,当我停止录制时,它会抛出错误 ” 09-01 20:10:04.206: E/AudioPlayer(13279): […]

使用cordova build android –release with debugging

我正在使用cordova来构建和签署我的apk。 在我的具体情况下,我需要能够使用cordova build android –release调试已签名的apk。 我已经将android:debuggable=”true”到AndroidManifest.xml中,但是我仍然无法调试我的应用程序。 我在我的项目中使用了intel crosswalk(嵌入了Chromium WebView)。 你能帮帮我吗?

不推荐在主线程上使用Firebase同步XMLHttpRequest

我正在使用phonegap / cordova离子应用程序。 我在iOS和Android上测试。 在iOS上运行良好。 但是在Android上,当我的一个视图加载时,我收到以下消息: 主线程上的同步XMLHttpRequest由于其对最终用户体验的不利影响而被弃用。 如需更多帮助,请访问http://xhr.spec.whatwg.org/ 。 每次我收到这个“警告” – 我的观点都没有加载。 其中一个.lp?dframe = t&id = …&pw = …来自/来自firebase的查询具有以下内容: function EnvSendPing(destURL) { try{ var xhr=new XMLHttpRequest(); xhr.open(“GET”, destURL, false); xhr.send(null); } catch (e) { } } function EnvDisconnect() { EnvSendPing(“/.lp?disconn=t&id=294802&pw=LL8E8eo2Rz”); } if(window.addEventListener) window.addEventListener(‘unload’,EnvDisconnect,false); else if(window.attachEvent) window.attachEvent(‘onunload’,EnvDisconnect); 这显然有xhr in async“false” – 导致这个“警告”。 有没有办法可以强制所有Firebase查询异步为真。 如果这只是一个“警告”,为什么页面会失速? 请注意,在iOS和桌面上的Chrome和Safari上 – […]

geolocation.watchposition不能使用基于网络的位置关闭

我正在使用sencha 2.3.1 + phonegap 3.3.0为Android构建位置感知应用程序,并使用地理位置显示靠近用户位置排序的目的地列表。 如果基于网络的位置设置打开,一切正常。 但是,如果我将其关闭并仅保留基于gps的位置,则永远不会被检测到。 代码非常基本,我尝试了两个sencha路径: Ext.device.Geolocation.watchPosition({ frequency: 10000, callback: function(position) { AppHelper.setCurrentLocation(position);//yeah!! }, failure: function() { AppHelper.setLocationModeOff();//oouch! } }); 和phonegap路径: var success = function(position) { AppHelper.setCurrentLocation(position); }; var fail = function() { AppHelper.setLocationModeOff(); }; navigator.geolocation.watchPosition(success, fail,{ timeout: 30000 }); 结果是一样的,我试着等待几分钟让geolock发生但没有位置服务的迹象。 已安装phonegap位置插件,权限正确,如果启用了网络位置,一切正常。 我在Sony Tablet S上测试 我知道这个错误: 如何在Sencha中通过GPS获取用户位置但是我检查了代码并且它在sencha 2.3.1中被定义为固定 我会尝试其他设备,但我想知道是否有人经历过同样的事情。 TIA。 编辑:我使用系统默认浏览器(基于webkit)在我的Android设备上使用标准html5代码进行了实验。 我会访问我的设置页面并在每次运行时更改设置。 访问http://html5demos.com/geo我得到以下内容: […]

使用带有phonegap的javascript源映射

我们正在通过grunt-contrib-requirejs使用uglify2-compressor为使用缩小源的平板电脑提供Cordova WebApp。 我们生成用于调试的源映射,通过KitKat Android平板电脑上的远程调试,使用chrome桌面浏览器完美运行。 现在我们希望将客户的错误报告发送到我们的服务器。 Android WebView似乎并不关心我们的源地图。 因此,我们收到错误消息,如“第1行,字符1231231” – 不是很有帮助… 问题是:是否可以使用Android(和iOS)Webview的源映射可能使用Cordova插件,或者我们是否必须等待更新(Chrome和Firefox桌面能够解析地图…)和ship取消缩小代码,以便我们能够获取发生错误的行号?

Phonegap软键盘覆盖输入字段

我的Phonegap 3.1中的软键盘覆盖了Android 4.x中的输入字段。 这个问题非常烦人,我刚刚发布了一个问题。 但是突然间有了火花,我在Stackoverflow上的多个post中整合了答案,并得到了正确的解决方案。 我只想在这里发布以供将来参考。 有两个关键步骤: 转到config.xml,禁用全屏模式:(很多post省略了这部分) 2.在config.xml中,添加以下行: 或者,如果您使用的是SDK,则可以转到项目的AndroidManifest.xml并添加: android:windowSoftInputMode=”adjustResize”到的属性 使用phonegap构建应用程序后,上面两行代码应该具有相同的效果。 然后运行你的应用程序,键盘不应再覆盖你的输入。 如果解决方案不适合您,请随意添加任何内容。

针对Cordova插件中的自定义框架定位特定平台

我正在为Android开发一个包含自定义框架的Cordova插件,其中一个只与cordova–android> = 4.0.0兼容。 我知道在plugin.xml文件中我们可以针对cordova-android特定版本,但这适用于整个平台的插件。 这是我的plugin.xml的简短版本: MyPlugin =4.0.0″ /> 这里,名为“first-framework”的框架仅适用于cordova-android = 4.0.0。 基本上我的目标是只有一个plugin.xml文件声明: 如果cordova-android是<4.0.0:使用“first-framework” 否则,如果cordova-android是> = 4.0.0:使用“second-framework” 我怎么能这样做? 谢谢

Crosswalk崩溃:如果要支持共享模式,请使用SharedXWalkView

我正在使用我的cordova应用程序的人行横道。 我遇到以下错误: 位于org.apache.cordova.CordovaActivity.init上的org.apache.cordova.CordovaActivity.makeWebView(CordovaActivity.java:340)的org.apache.cordova.CordovaActivity.init(CordovaActivity.java:376)中的java.lang.ExceptionInInitializerError( CordovaActivity.java:368)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)的android.app.Activity.performCreate(Activity.java:6374)的de.gambify.android.CordovaApp.onCreate(CordovaApp.java:31) :1119)android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2767),位于android.app.ActivityThread.access $ 900(ActivityThread.java:182)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2879) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1475)在android.app.Handler.dispatchMessage(Handler.java:102)android.app.Looper.loop(Looper.java:145)android.app .ActivityThread.main(ActivityThread.java:6141)位于java.lang.reflect.Method.invoke的java.lang.reflect.Method.invoke(Native Method)中(Method.java) :372)com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1399)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)引起:java.lang。 RuntimeException:java.lang.RuntimeException:如果要在org.xwalk.core.ReflectionHelper.handleException(ReflectionHelper.java:233)的org.xwalk.core.ReflectionHelper.handleException(ReflectionHelper.java:237)中支持共享模式,请使用SharedXWalkView )org.xwalk.core.ReflectionHelper.init(ReflectionHelper.java:132)atg.xwalk.core.ReflectionHelper.loadClass(ReflectionHelper.java:199)org.xwalk.core.XWalkPreferences.setValue(XWalkPreferences.java: 112)at org.apache.cordova.CordovaWebView。(CordovaWebView.java:897)… 17更多引起:java.lang.RuntimeException:如果你想支持共享模式,请使用SharedXWalkView … 22更多 我一开始认为这与我仅在ARM支持下构建我的应用程序有关。 现在我已将我的应用程序与x86以及ARM支持捆绑在一起,但仍然面临这些错误。 让我感到惊讶的是它说我应该使用共享模式。 我目前正在使用嵌入式模式。 我看到这些问题的设备是三星Galaxy S6和三星Galaxy S6边缘。 我正在使用人行横道12.41.296.9

Android上的PhoneGap 3.3和移动服务HTML应用程序

我安装了最新的PhoneGap版本(3.3),打包了我的移动服务HTML应用程序并点击了已知的授权问题: 仅从http://和https:// URL支持登录。 请在Web服务器中托管您的页面 我已经在互联网上搜索了这个问题( http://social.msdn.microsoft.com/Forums/windowsazure/en-US/a2386093-73cd-44fb-a418-4fa83a36c800/phonegap-apps-using-the-new-html -client-for-azure-mobile-services-not-working-forum = azuremobile )但该解决方案对我不起作用。 由phonegap创建的项目引用但即使我将其更改为它不起作用。 这个问题有什么解决方案吗? 我的源代码: Report myscript.js var app = { initialize: function() { document.addEventListener(‘deviceready’, this.onDeviceReady, false); }, onDeviceReady: function() { var client = new WindowsAzure.MobileServiceClient( “https://myapp.azure-mobile.net/”, “XXX”); client.login(“google”).done(…. }, }; $(document).ready(function documentReady() { app.initialize(); }); 编辑21.12。 显然,PhoneGap 3不再在window.device.cordova报告其版本,移动服务会在其中检查它。 但即便假装它也无济于事 – 在谷歌授权后,它会进入空白页面。

cordova音频可视化器? (使用Media而不是AnalyserNode)

我在桌面网站上使用Web Audio API的AnalyserNode创建了一个可视化工具,但现在我在PhoneGap / Cordova中,我不知道如何使用Native API可以复制它。 我正在使用Media类而不是HTML5的传统音频相关类,所以我不认为我可以用.connect()来连接它们。 我有什么方法可以在Android KitKat和/或iOS 7上做到这一点吗?