我有一个适用于 iOS 的简单 AIR 应用程序,它有一个文本字段和一个扫描按钮。 按下“扫描”按钮后,应用程序会启动一个基于 pdf417.mobi SDK 的 ANE,它使用 iPad 摄像头解码 PDF417 条形码。 ANE 工作正常,并将所有扫描结果返回给 AIR。
关闭时,它会关闭相机并返回到 AIR,但我根本无法与 AIR 应用程序交互。没有任何触摸被识别。
我已经添加了一个 ENTER_FRAME 事件来连续跟踪,这样我就可以检查应用程序在关闭 ANE 后是否仍然存在并且它会继续跟踪。只是用户输入不起作用。
有什么想法吗?
谢谢。
最佳答案
我不知道 pdf417.mobi SDK,但你根本不必使用像他们这样的特定 SDK 来扫描 pdf417。
Android 上的 Zxing 库支持:https://github.com/zxing/zxing iOS 本身也支持:https://developer.apple.com/library/ios/technotes/tn2325/_index.html
对于 Adobe Air,要支持 pdf417 及其他格式,您可以使用我们的这个 ANE https://github.com/myflashlab/barcode-ANE
以下是您应该如何初始化它并将其设置为读取 pdf417 仅供引用:
import com.myflashlab.air.extensions.barcode.Barcode;
import com.myflashlab.air.extensions.barcode.BarcodeEvent;
var _ex:Barcode = new Barcode();
_ex.addEventListener(BarcodeEvent.RESULT, onResult);
_ex.addEventListener(BarcodeEvent.CANCEL, onCancel);
if (_ex.isSupported())
{
trace("Please wait...");
// to read only the selected barcode types. use an array to read one or more barcodes
_ex.open([Barcode.PDF417], File.applicationDirectory.resolvePath("com_doitflash_barcode_beep.mp3"), true, "Cancel");
}
else
{
trace("isSupported: ", _ex.isSupported());
}
function onCancel(e:BarcodeEvent):void
{
trace("scan canceled")
}
function onResult(e:BarcodeEvent):void
{
trace("type is: ", e.param.type)
trace("data is: ", e.param.data);
}
关于iOS AIR 应用程序在关闭条形码读取器 ANE 后未获取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946674/