我正在使用Linea Pro 5和iPod Touch 5。
我在VS 2012下使用C#在Xamarin下开发iOS App。

我的情况是这样的:
我的iOS应用程序中有屏幕A和屏幕B。
在屏幕A中,我要允许用户扫描条形码,但是当他移至屏幕B时,我要禁用扫描仪。
意思是,我希望该选项仅在一个屏幕(屏幕A)中扫描。

这是我所做的:
我的Linea设备声明为类“Linea”的变量“lineaDevice”。
我尝试在屏幕A中进行加载(屏幕加载时):
lineaDevice.Connect();
在屏幕B中(加载屏幕时):
lineaDevice.Disconnect();

这是可行的,扫描仪在屏幕B中不起作用(红灯甚至都没有打开),但是这种方法的问题是每次调用lineaDevice.Connect();之后,只有第二次单击在Linea设备的物理按钮上,实际上会打开设备(及其红灯)以进行扫描。这意味着,当用户返回到屏幕A时,他必须在物理按钮上单击两次以开始扫描。

我希望它始终是第一次“平滑”扫描。

请让我知道在其他屏幕上“禁用” Linea的任何想法。意思是,当单击物理Linea按钮时,其他屏幕上什么也不会发生,但是在用户返回到屏幕A(必须连接Linea)的那一刻,它仍然保持连接状态。

提前致谢!

最佳答案

setScanButtonMode

设置Linea的扫描按钮模式。
此设置不是永久性的,最好在连接时进行配置。

Syntax
-(void)setScanButtonMode:(int)mode;

参数模式
BUTTON_DISABLED - Linea's button will become inactive
BUTTON_ENABLED - Linea's button will triger barcode scan when pressed

返回值
NSPortTimeoutException - if there is no connection to Linea
NSInvalidArgumentException if some of the input parameters are wrong

希望这个能对您有所帮助。

关于c# - 禁用Linea Pro 5扫描仪,而无需调用“断开连接”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23633684/

10-13 06:23