Я работаю в формах xamarin, я создал широковещательный приемник класса, но ONReceive () не вызывается? как вызвать этот метод или вызвать? - PullRequest
0 голосов
/ 14 июля 2020

Я создал код ниже. Это мой класс bluetoothDeviceReciver, созданный в формах Xamarin Android Project. Я пытаюсь транслировать идентификатор устройства или что-то обычное, чтобы знать количество устройств, использующих то же приложение.

class BluetoothDeviceReceiver: BroadcastReceiver {

    public override void OnReceive(Context context, Intent intent)
    {
        var action = intent.Action;
        if (action != BluetoothDevice.ActionFound)
        {
            return;
        }
        var device = (BluetoothDevice)intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
       
        if (device.BondState != Bond.Bonded)
        {
            var name = device.Name;
            var address = device.Address;
       
        }         
    }
}

и в основном действии OnCreate ()

    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);
        _receiver = new BluetoothDeviceReceiver();
         RegisterReceiver(_receiver, new IntentFilter(BluetoothDevice.ActionFound));
        BluetoothAdapter.DefaultAdapter.StartDiscovery();

        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        Xamarin.Forms.Forms.SetFlags("RadioButton_Experimental");
     
        RequestPermissions(permissionArr, RequestId);

        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        LoadApplication(new App());

}

Этот OnRecieve () не вызывается, я не понимаю, почему именно? После получения всех адресов устройства я должен сохранить его в файле, который находится в проекте PCL, поэтому мне также нужен адрес устройства в проекте PCL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...