Хотите узнать, как обычно подключаться к устройству по MAC-адресу, или вас интересует, как обойти определенные проблемы безопасности / разрешений Blackberry? Я не имею представления о последнем случае, но для первого случая есть подход:
Чтобы выполнить поиск службы на удаленном устройстве, вам необходим экземпляр класса javax.bluetooth.RemoteDevice, который вы обычно получаете с помощью поиска устройства с помощью DiscoveryAgent. Если у вас уже есть адрес устройства, вы не можете создать экземпляр RemoteDevice напрямую, потому что соответствующий конструктор RemoteDevice защищен.
Чтобы обойти это, вы можете создать новый класс, расширяющий RemoteDevice. В этом производном классе объявляется конструктор public , который принимает адрес устройства. Этот общедоступный конструктор затем может вызвать защищенный супер-конструктор:
public class MyRemoteDevice extends RemoteDevice {
public MyRemoteDevice(String addr) {
super(addr);
}
}
Теперь у вас есть RemoteDevice для определенного адреса устройства без сканирования устройства и без запроса списка известных устройств.
Примечание: Хотя этот подход работает согласно моему опыту, он все равно может не работать на устройстве Blackberry в случае, если RIM реализовал некоторые скрытые функции в классе RemoteDevice, которые игнорируются, если создается экземпляр RemoteDevice, как показано здесь.