如果你想添加东西到你的扫描器的布局,你需要在插件本身编写代码。
您不能直接与JS中的扫描仪进行交互。
实际上,您使用的插件使用cordova.exec以通过传递参数启动扫描仪视图。
- 对于Android,您只需要了解Java和一些XML。
- 对于iOS,您必须知道Objective-C/Swift。
是Android,您可以有4个文件进行修改:
- 的plugin.xml:所有的家里,你相依
- Your_Activity.java:Java文件允许与扫描视图本身互动通过调用按钮,textviews,布局等...
- Your_Main.java:从您的插件的js文件获取并返回参数的java文件
- Your_Layout。XML:在res xml文件/它是由被Java
那旁边解释XML属性的布局,我发现了两个不错的插件科尔多瓦/离子应用从GitHub:
- 的PhoneGap/PhoneGap的-plugin-barcodescanner
- tjwoon/csZBar
而且还有昂贵的一个,Scandit,这样就解决了所有的问题,你大约每月$ 200检查定价为每一个他们提出的解决方案。
如果你使用他们的SDK,你可能能够与js文件中的扫描仪视图交互,因为他们的工作,但他们是我知道这么做的唯一公司。 (也许ManateeWorks ...)
在这部分是我自7月中旬以来一直在做的,为了给你的想法。
我目前正在为我的离子应用程序制作ANDROID扫描仪布局。 你可以找到我的GitHub仓库here,我把它从tjwoon的csZBar中分出来,我添加了一些我的离子应用程序需要的东西。我很确定我会很快实现一个iOS布局(至少我会尝试),不幸的是我并不真正了解android/iOS移动编程。
Here's a screenshot of the layout
我由3个图像按钮,“顶栏”的文本视图&图像按钮组成构成的“标签栏”。扫描仪嵌入在这两者之间。
该应用程序的功能有弹出窗口,可暂停扫描程序并响应点击事件。
有关更多信息,请参见README和Java文件(csZBar/android /)。
不要犹豫,问问题和/或检查我的代码。
警告
- 1)它是目前发展所以用它在你自己的风险(使用分支的主人,不发展)
- 2)我只修改了Android的一部分,而不是iOS版!
- 3)它不适用于Windows手机...
您到目前为止尝试了什么? –
我已经创建了一个服务来调用扫描器。 请参阅此片段:: cordova.plugins.barcodeScanner.scan( 功能(结果){//成功 deferred.resolve({ '错误':假的, '结果':结果});} , 功能(错误){//失败 deferred.resolve({'error':true,'result':error.toString()}); } ); – SSen
@SSen尝试我在下面发布的答案,我测试过,它似乎工作。 –