【发布时间】:2020-08-10 15:47:48
【问题描述】:
我正在尝试在我的 xamarin android 应用程序中使用 xzing 条码扫描仪,但我还需要打开手电筒以便在光线不足的条件下进行扫描。
我正在使用 xamarin Essentials 尝试打开手电筒,但我不断收到以下错误消息。
Torch for camera "0" is not available due to an existing camera user
我有一个包含我的扫描仪的 xaml 页面
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<forms:ZXingScannerView
IsScanning="{Binding IsScanning}"
IsAnalyzing="{Binding IsAnalyzing}"
Result="{Binding Result, Mode=TwoWay}"
ScanResultCommand="{Binding ScanCommand}" />
<forms:ZXingDefaultOverlay
x:Name="scannerOverlay"
BottomText="Place the red line over the barcode you'd like to scan." />
<Button Grid.Row="1" Text="Toggle Flash" Command="{Binding FlashToggleCommand}"></Button>
</Grid>
然后我在命令后面有以下代码来切换手电筒
public Command FlashToggleCommand
{
get { return new Command(async () =>
{
try
{
// Turn On
await Flashlight.TurnOnAsync();
//// Turn Off
//await Flashlight.TurnOffAsync();
}
catch (FeatureNotSupportedException fnsEx)
{
// Handle not supported on device exception
}
catch (PermissionException pEx)
{
// Handle permission exception
}
catch (Exception ex)
{
// Unable to turn on/off flashlight
}
}); }
}
但我继续使用上面的错误消息进入异常块
我假设条形码扫描仪正在使用相机,有谁知道如何在 zxing 扫描仪也在运行时打开手电筒/手电筒?
【问题讨论】:
-
ZXingScannerView 有一个 IsTorchOn 属性,你可以切换