Я использую C # xamarin и Nokia 7 plus, которые уже устанавливают Android 9. Nokia 7 плюс содержит Zeiss двойной задней камерой. Поэтому я думаю, что смогу получить поддержку нескольких камер
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
var manager = base.GetSystemService(CameraService) as CameraManager;
var dict = manager.GetCameraIdList().ToDictionary((id) => id,(id) => manager.GetCameraCharacteristics(id));
var lens = dict.Values.Select((characteristics) => (
(LensFacing)((int)characteristics.Get(CameraCharacteristics.LensFacing)),
characteristics.Get(CameraCharacteristics.RequestAvailableCapabilities).ToArray<RequestAvailableCapabilities>(),
characteristics.PhysicalCameraIds.ToArray(),
characteristics.Get(CameraCharacteristics.LensPoseRotation),
characteristics.Get(CameraCharacteristics.LensPoseTranslation),
characteristics.Get(CameraCharacteristics.LensIntrinsicCalibration),
characteristics.Get(CameraCharacteristics.LensRadialDistortion),
characteristics.Get(CameraCharacteristics.LensPoseReference)
)).ToArray();
}
}
Этот код дает мне 2 камеры с 1 спереди и 1 сзади правильно. Однако возможности не содержат LogicalMultiCamera
, PhysicalCameraIds
- пустой набор, и вся информация о позе объектива равна нулю
Что я здесь не так делаю? Или есть проблемы с Nokia, Xamarin или Android SDK?