我需要在基于cordova的Windows 8手机应用程序中创建并安装自定义的cordova插件.目前,应用程序中的按钮单击处理程序无法查看调用cordova.exec的js对象
该对象,调用cordova.exe的函数称为dlScanner它有一个函数,scanBarcode调用cordova.exec
点击处理程序是这样的:
$(document).ready(function () {
$('#cmdOne').click(function () {
dlScanner.scanBarcode(
function (results) {
alert(results);
}), function (err) {
alert(err);
}, 'lowercaseworld'
});
});
Run Code Online (Sandbox Code Playgroud)
错误消息是这样的:
TypeError: Cannot read property 'scanBarcode' of undefined
Run Code Online (Sandbox Code Playgroud)
上下文:我在这里找到了Microsoft插件生成器PluginGenerator .然后我在应用程序的config.xml文件中使用View Designer,在Visual Studio Community 2015中,将该插件安装到VS之前为我创建的通用cordova Windows 8手机应用程序中.
该插件安装过程将其放在app的config.xml文件中
<vs:plugin name="com.contoso.dlScanner" version="0.1.0" src="C:\Users\TestAndDemo\dlScanner" />
Run Code Online (Sandbox Code Playgroud)
在dlScanner目录(如上所述)中,有src和www目录以及plugin.xml文件
在那个plugin.xml文件是这样的:
<js-module src="www/dlScanner.js" name="dlScanner">
<clobbers target="dlScanner" />
</js-module>
<!-- wp8 -->
<platform name="wp8">
<config-file target="config.xml" parent="/*">
<feature name="dlScanner">
<param name="wp-package" value="dlScanner"/>
</feature>
</config-file>
<source-file src="src/wp/dlScanner.cs" />
Run Code Online (Sandbox Code Playgroud)
www/dlScanner.js文件包含以下内容:
var dlScanner = { …
Run Code Online (Sandbox Code Playgroud) 我的Android基于cordova的应用程序在摩托罗拉Droid Turbo 2,Android 6.0版上崩溃.该应用程序在许多其他设备/平台上运行良好 - 包括我的Android手机.我可以通过在完全准确的下拉列表中进行选择来破坏应用程序.
附加细节(新的5/27/16):1.)应用程序并不总是第一次崩溃.有时他可以点击2或3个下拉菜单.2.)用户手机上有另一个应用程序,我使用相同的架构构建,运行正常.
更新:我终于按照USKMobility的提示处理了我遇到的白名单错误,并在应用程序崩溃之前得到了不同的消息.我在下面的块中更新了它们.
这是关键的logcat线.当我点击下拉列表时,它们就开始了.
04-30 11:28:26.619: W/Adreno-GSL(9728): <gsl_ldd_control:475>: ioctl fd 38 code 0x40180917 (IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID) failed: errno 22 Invalid argument
04-30 11:28:26.620: W/Adreno-GSL(9728): <gsl_ldd_control:475>: ioctl fd 38 code 0x40180917 (IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID) failed: errno 16 Device or resource busy
04-30 11:28:26.635: I/Adreno(9728): DequeueBuffer: dequeueBuffer failed
04-30 11:28:26.692: W/google-breakpad(9728): Microdump crash handler failed.
04-30 11:28:26.707: A/libc(9728): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7f576c0000 in tid 9780 (Chrome_InProcGp)
Run Code Online (Sandbox Code Playgroud)
另一个更新是我第一次使用下拉列表时应用程序不再一直崩溃.有时我可以在崩溃之前使用3-5个下拉菜单.想法?
我有一个基于cordova的应用程序,在两个非常相似的Windows Lumia手机上表现不同.选择(也称为下拉列表)在较新的手机上不起作用.
他们不工作的手机就是这个:
Lumia Denim 640 LTE
OS, 8.1, Update 2
Application Version, 3.15.4.28
Manufacturer Name, RM-1073_1001
Carrier, T-Mobile
Run Code Online (Sandbox Code Playgroud)
他们正在处理的手机是这样的:
Lumia Cyan 520
OS 8.1
"Application Version", 3.15.4.28
Manufacturer Name, RM-915_nam_usa_228
Carrier, AT&T
Run Code Online (Sandbox Code Playgroud)
当我将应用程序从Visual Studio直接运行到设备时,控制台中没有错误.
当应用程序初始化时,选择按设计绑定到使用jsRender和jsViews的json对象.
相同的应用程序在iOS和Android上运行良好.
我不想使用WinJs控件.
想法?