Tôi có một ứng dụng mà tôi đang điều khiển theo chương trình ghép nối Bluetooth và hủy ghép nối. Tôi có thể ghép nối trước khi kết nối và hủy ghép nối sau đó. Lý do tôi cần thực hiện điều này là cụ thể đối với đơn đăng ký của tôi chứ không phải trong phạm vi câu hỏi của tôi.Làm cách nào để tránh hoặc loại bỏ thông báo ghép nối Bluetooth của Android khi tôi đang thực hiện ghép nối có lập trình?
Về cơ bản những gì tôi đang làm là:
- Nhận một tài liệu tham khảo
ib
đểIBluetooth
đối tượng như mô tả trong this answer - Đăng ký một BroadcastReceiver cho
android.bluetooth.device.action.PAIRING_REQUEST
- Gọi
ib.createBond(address)
- Chờ BroadcastReceiver để kích hoạt
- Chuyển đổi pin người dùng thành byte với convertPinToBytes()
- Gọi
ib.setPin(address, pinBytes)
từ bên trong BroadcastReceiver
Anyways, phương pháp này hoạt động tuyệt vời, ngoại trừ một thực tế rằng khi tôi làm ghép nối, tôi nhận được một thông báo trong thanh Status yêu cầu mà người dùng nhập mã PIN để hoàn thành ghép nối. Nhưng điều này thực tế là không cần thiết, bởi vì khi người dùng thấy điều này, ứng dụng của tôi đã sử dụng setPin()
. Tôi thực sự muốn cho thông báo đó hoặc a) không xuất hiện ở tất cả, hoặc b) được loại bỏ tự động bằng cách nào đó.
Tôi nhận ra điều này thậm chí không thể, nhưng tôi nghĩ tôi sẽ hỏi trong trường hợp ai đó có ý tưởng sáng tạo.
Bạn có thể vui lòng thêm một số mã mẫu (hoặc liên kết tới mã nguồn của bạn) không. Điều tôi muốn làm thực sự giống như bạn. Tôi muốn kết nối với thiết bị không có yêu cầu mật khẩu. Trân trọng, Jeroen – Jeroen
Tôi không thể chia sẻ mã nguồn của mình một cách không may, nhưng bước từng bước mà tôi có ở trên rất gần với mã thực tế. Bạn có thể bắt đầu với mã nguồn trong câu trả lời tôi liên kết đến ở Bước 1. –
@ JoelF bạn đã giải quyết được vấn đề của mình chưa? Bởi vì tôi không. Thực sự đánh giá cao nếu bạn có thể chia sẻ cách bạn giải quyết, nếu đó là trường hợp. – Tiago