2014-05-17 2 views
1

Android에서 새로운 기능으로 프로그래밍 방식으로 BluetoothDevice에 연결하려고합니다. 기기에 PIN이 있습니다. 장치에 연결하는 것이 UI가 아닌 다른 스레드에 있습니다. 지금까지 나는 How to programmatically pair a bluetooth device on Android에서 예를 따라 왔습니다.Android : 페어링 대화 상자 숨기기

켜기 BluetoothDevice.ACTION_PAIRING_REQUEST 문자열을 byte []로 변환하고 setPin 호출을 수행합니다. 페어링 대화 상자가 튀어 나와 사라집니다.

 Method createBondMethod1 = device.getClass().getMethod("cancelPairingUserInput"); 
     Boolean returnValue2 = (Boolean) createBondMethod1.invoke(device); 

같은 조치는 setPin에 실패했다. device.createBond()가 호출되면 BluetoothDevice.ACTION_PAIRING_REQUEST이 트리거됩니다.

질문은 어떻게 페어링 대화 상자를 숨길 수 있습니까?

감사합니다.

답변

0

내가 찾은 유일한 해결책은 사용하여 모든 시스템 대화 상자를 dimiss하는 것입니다

getContext().sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); 

을 그러나 문제는 그것을 dimiss하는 바로 그 순간을 포착하고,이 문제에 대한 신뢰할 수있는 솔루션이어야한다 대화 상자를 표시하지 않으려면 ... 그 유일한 해결책은 그 의도를 보여주지 못한 시스템에서 bluetoothDialog apk를 수정하는 것입니다.

더 좋은 해결책을 알고 계시다면 알려 주시기 바랍니다.