Мне нужно создать приложение, которое обнаружит все ближайшие Bluetooth-устройства и подключится к нему. У меня есть этот код, вероятно, будет работать в Java, но мне нужно работать в C#:Получите рядом устройства Bluetooth в android C#
public class BroadcastReciverClass : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
String action = intent.Action;
// When discovery finds a device
if (BluetoothDevice.ActionFound.Equals(action))
{
BluetoothDevice device = intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.Add(device.Name+" -> "+device.Address);
lv.Adapter = mArrayAdapter;
}
}
}
Проблема заключается в том, что Visual Studio говорит:
Не удается неявно преобразовать java.lang.Object к Android.Bluetooth.BluetoothDevice.
Вам не хватает роли?
в этой строке:
BluetoothDevice device = intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
Теперь, когда он находит устройство, предоставляющее Java.NullPointerException во время выполнения – KillGeek
@KillGeek Вы проверяете значения «null»? Кроме того, в этих примерах экземпляр 'device' объявляется внутри блока' if (BluetoothDevice.ActionFound.Equals (action)). Если вы хотите использовать его вне этого блока 'if', вы должны объявить его вне этого блока' if'. –
Спасибо, это работает – KillGeek