Однако я получаю нулевой BleManager даже после использования внедрения зависимостей для его использования.
MauiProgram.cs
Код: Выделить всё
using Microsoft.Extensions.Logging;
using Shiny;
using Shiny.BluetoothLE;
namespace shinyTest
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp()
.UseShiny()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
})
.Services.AddSingleton();
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}
}
Код: Выделить всё
using Shiny.BluetoothLE;
namespace shinyTest
{
public partial class MainPage : ContentPage
{
int count = 0;
private IBleManager bleManager;
public MainPage(IBleManager bleManager)
{
InitializeComponent();
this.bleManager = bleManager;
}
public MainPage()
{
InitializeComponent();
}
private async void OnCounterClicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new BluePage(bleManager));
}
}
}
Код: Выделить всё
using Shiny;
using Shiny.BluetoothLE;
using System.Collections.Generic;
using System.Reactive.Linq;
namespace shinyTest;
public partial class BluePage : ContentPage
{
private IBleManager _bleManager;
public BluePage(IBleManager bleManager)
{
InitializeComponent();
_bleManager = bleManager;
}
private async void scan_btn_Clicked(object sender, EventArgs e)
{
if(_bleManager==null)
{
await DisplayAlert("Null bleManager", "BLE is NULL", "OK");
return;
}
IEnumerable connected_devices;
try
{
connected_devices = _bleManager.GetConnectedPeripherals();
await DisplayAlert("Connected Devices", $"{connected_devices}", "Ok");
}
catch (Exception ex)
{
await DisplayAlert("Exception", $"{ex.Message}", "ok");
}
}
}
Помощь оценена!
Подробнее здесь: https://stackoverflow.com/questions/784 ... l-net-maui