Tôi đang phát triển một ứng dụng sử dụng Bluetooth để kết nối với thiết bị và gửi/nhận dữ liệu. Tôi đang làm tất cả thử nghiệm của mình với điện thoại Nexus One.Android Bluetooth - Không thể kết nối ra
Tôi chưa bao giờ có thể thiết lập kết nối SPP (cổng nối tiếp) từ điện thoại của mình cho bất kỳ thiết bị nào. Tuy nhiên, tôi có có thể kết nối từ thiết bị (máy tính xách tay của tôi) với điện thoại của tôi bằng cách sử dụng Mac tương đương PuTTY (Ngoại lệ duy nhất cho điều này là ứng dụng "Truyền tệp qua Bluetooth" từ Marketplace dường như hoạt động, nhưng tôi không 't nghĩ rằng sử dụng RFCOM/SPP ...).
tôi tiếp tục nhìn thấy thông báo này trong nhật ký LogCat tôi:
ERROR/BluetoothService.cpp(78): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
cũng như những:
java.io.IOException: Operation Canceled
java.io.IOException: Software caused connection abort
Tôi đã thử bằng cách sử dụng UUID của "00001101-0000-1000 -8000-00805F9B34FB "và tôi cũng đã thử sử dụng:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));
phương pháp thay vì device.createRfcommSocketToServiceRecord(UUID);
- không có may mắn.
Tôi đang sử dụng BluetoothChat example và các biến thể của mã đó để làm tất cả các xét nghiệm của tôi ...
Solutions hoặc gợi ý sẽ là tuyệt vời ... hay thậm chí là tốt hơn/example ít phức tạp của một số mã thử nghiệm tôi có thể chạy trên điện thoại, hoặc một kịch bản python hoặc một cái gì đó tôi có thể chạy trên máy tính của tôi để giúp gỡ lỗi?
Cảm ơn! Tôi hy vọng đây không phải là một lỗi với hệ điều hành Android, nhưng nếu nó là tôi hy vọng sẽ tìm thấy một workaround.
EDIT: Tôi cũng nên lưu ý rằng hầu hết các thiết bị hiển thị như "ghép đôi, nhưng không kết nối" trong cài đặt Bluetooth.
CHỈNH SỬA 2: Giải pháp có vẻ đơn giản là vô hiệu hóa mọi thao tác nghe Bluetooth. Xem bài trả lời của tôi để biết thêm thông tin.
chủ đề đáng chú ý khác liên quan đến vấn đề này: 1) http://stackoverflow.com/questions/2268365/android-bluetooth-cross-platform-interoperability 2) http://stackoverflow.com/questions/ 2661932 3) http://groups.google.com/group/android-developers/browse_thread/thread/348c269f2ef88327/ 4) http://stackoverflow.com/questions/2660968/how-to-prevent-android -bluetooth-rfcomm-kết nối-từ-chết-ngay sau 5) http://stackoverflow.com/questions/1953888/bluetooth-rfcomm-sdp-connection-to-a-rs232-adapter-in-android – idolize
bạn đã sử dụng sự phản chiếu với ý định hay bởi sự trùng hợp? Lý do tôi hỏi là, tôi tự hỏi nếu bạn sử dụng nó như là một cách để làm việc xung quanh một lỗi cụ thể trong việc thực hiện Bluetooth? Thông thường tôi sẽ nghĩ rằng người ta có thể vừa sử dụng 'BluetoothSocket bs = createRfCommSocket (...'. Cảm ơn! –
@Brad - Đó là cố ý, bởi vì tôi đã thấy một số người trực tuyến gặp vấn đề với createRfcommSocketToServiceRecord mà chỉ được giải quyết bằng cách sử dụng cách giải quyết khác thường này Xem: http://stackoverflow.com/questions/2660968/how-to-prevent-android-bluetooth-rfcomm-connection-from-dying-immediately-after --and-- http://stackoverflow.com/question/2661932/problem-with-bluetooth-on-android-2-1-samsung-spica-i5700-where-pairing-works-b – idolize