Следуя инструкциям здесь , я создал приложение, которое находит близлежащие устройства Bluetooth и записывает их имя (если доступно), адрес и rssi в простой список.
Моя цель - отфильтровать результаты, чтобы найти все близлежащие телефоны, которые можно обнаружить, и их RSSI. Однако я не вижу свой iPhone в списке с другими соседними устройствами. Я знаю MAC-адрес своего телефона через настройки-> общие-> о, и в моем телефоне включен Bluetooth и его можно обнаружить .
Мой телефон находится примерно в футе от устройства, поэтому устройство должно быть в состоянии его поднять (он может обнаружить мой ноутбук через всю комнату). Как я могу найти свой телефон и другие телефоны?
Примечание: я занимаюсь разработкой на c # и Xamarin.Android для Android версии 6.0.1.
UPDATE:
Это мой код, использованный для открытия-
static int REQUEST_ENABLE_BT = 1;
BluetoothBroadcastReceiver btReceiver;
BluetoothAdapter btAdapter = BluetoothAdapter.DefaultAdapter
//check status of bluetooth and enable if possible
...
//Discover bluetooth devices
btReceiver = new BluetoothBroadcastReceiver(this);
IntentFilter filter = new IntentFilter(BluetoothDevice.ActionFound);
RegisterReceiver(btReceiver, filter);
btAdapter.StartDiscovery();
//custom BroadcastReceiver to take ActionFound
public class BluetoothBroadcastReceiver : BroadcastReceiver
{
Activity activity;
public BluetoothBroadcastReceiver(Activity activity)
{
this.activity = activity;
}
public override void OnReceive(Context context, Intent intent)
{
string action = intent.Action;
if (BluetoothDevice.ActionFound.Equals(action))
{
//Discovery has found a device. Get info
BluetoothDevice device = (Android.Bluetooth.BluetoothDevice)intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
string deviceName = device.Name;
string deviceAddress = device.Address;
short RSSI = intent.GetShortExtra(BluetoothDevice.ExtraRssi,(short)0);
string result = deviceName + " " + deviceAddress + " " + RSSI;
newDevicesArrayAdapter.Add(result);
}
}
}
Спасибо!