使用 Zxing 库 Xamarin.android 应用程序扫描时将屏幕方向锁定为纵向。

Lock screen orientation to portrait when scanning with Zxing library, Xamarin.android app.

我看到它可以在相机配置管理器中完成,但不确定在哪里可以找到该文件???

我添加了:

          <activity android:name="MainActivity"

          android:configChanges="keyboardHidden|orientation" 

          android:screenOrientation="portrait"/>

现在主要activity 被锁定在纵向,但是当 运行 从内部使用 zxing 扫描仪时 activity 屏幕在扫描过程中旋转??

将此添加到您的 Main activity 以锁定方向

[Activity (Label = "YourLabel", MainLauncher = true, ScreenOrientation = Android.Content.PM.ScreenOrientation.Landscape)]

要使用代码更改方向,请使用:

if (scanning)
    RequestedOrientation = Android.Content.PM.ScreenOrientation.Portrait;

我已经解决了这个问题,最后很简单。我使用的是 Zxing.net.mobile,而不是 zxing.net,两者略有不同...

            var scanner = new MobileBarcodeScanner();
            scanner.TopText = "Scanning for Barcode...";
            var result = await scanner.Scan(new MobileBarcodeScanningOptions
            {
                AutoRotate = false
            });
            if (result != null)
            {
                _scan.ScanValue = result.ToString();
                _scan.Action = "Scan";
                await CallService();
            }
            else
            {
                scanner.Cancel();
                Recreate();
            }
        };

这个效果很好。