2010-10-13 89 views

Trả lời

3

Bằng cách phát hiện được, tôi cho rằng bạn có nghĩa là trả lời các tìm kiếm thiết bị từ một thiết bị khác. Một số nhà sản xuất cũng gọi nó là hiển thị. Tùy thuộc vào nhà sản xuất thiết bị, một số thiết bị cho phép Bluetooth bật và khả năng hiển thị/phát hiện được đặt thành tắt. Vì vậy, nếu bạn đã biết Địa chỉ Bluetooth (Địa chỉ MAC) của thiết bị bạn có thể kết nối trực tiếp với thiết bị ngay cả khi thiết bị không thể phát hiện/hiển thị. Trong thực tế, nhiều nhà sản xuất cho phép điều này bằng cách chỉ hiển thị thiết bị trong các khoảng thời gian cụ thể như trong quá trình gọt hoặc có tùy chọn menu rõ ràng để bật khả năng khám phá trong một khoảng thời gian cụ thể. Đây là một thực hành tốt từ một điểm bảo mật vì nó ngăn chặn theo dõi thiết bị/hack.

Ví dụ về iPhone theo mặc định là không thể phát hiện được khi Bluetooth bật, (nhưng bạn vẫn có thể kết nối với nó) nó chỉ có thể phát hiện được khi bạn nhập menu Bluetooth từ menu cài đặt.

6

Nếu trước đây bạn đã ghép nối với thiết bị thì có thể kết nối lại với thiết bị ngay cả khi không ở chế độ có thể phát hiện. Xem bài đăng này: programmatically-connect-to-paired-bluetooth-device

// use paired devices or create a BluetoothDevice using a mac address 
    //Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices(); 
    BluetoothAdapter myAdapter = BluetoothAdapter.getDefaultAdapter(); 
    BluetoothDevice remoteDevice = myAdapter.getRemoteDevice("00:00:00:00:00:00"); 
    BluetoothSockt btSocket = remoteDevice.createRfcommSocketToServiceRecord(UUID); 
    btSocket.connect(); 
    //get input and output stream etc... 
1

Có thể theo tiêu chuẩn Bluetooth. Tôi đã làm điều này nhiều lần kết nối hai mô-đun từ Bluegiga với nhau chỉ đơn giản bằng cách sử dụng địa chỉ MAC mà tôi biết trước thời hạn.

Android sẽ cho phép bạn thực hiện việc này với createInsecureRfcommSocketToServiceRecord

Các vấn đề liên quan