modificar android.server.BluetoothService.java para atualizar service_channel_no em cache do dispositivo emparelhado para abrir várias conexões a ele (em vários canais)

Estou preso em um lugar onde o meu telefone Android (Samsung Galaxy) tem que abrir 2 (ou mais) conexões para o meu PC (servidor), que é um dispositivo emparelhado. Para este propósito, eu inicio o servidor SDP no PC com o UUID: 00001101-0000-1000-8000-00805F9B34FB e canal 2, após a primeira conexão eu desregistrar o serviço SDP no PC e registrá-lo novamente no canal 3 (e mesmo UUID) e espere que meu telefone Android conecte-se a ele para estabelecer a segunda conexão Bluetooth. O segundo falha.

O problema como eu descobri é que por causa do emparelhamento, o num canal e UUID do dispositivo para o 'BluetoothSocket.connect' são atendidos a partir do cache e não estão sendo atualizados, assim meu SDP alterar no canal num no lado do servidor não é visível aqui, pois ainda tenta se conectar ao canal 2 (antigo).

Uma solução alternativa para esse problema (encontrada após várias tentativas frustrantes) pode ser alterar o arquivo android.server.BluetoothService.java, introduzindo updateDeviceServiceChannelCache (addr) antes de retornar no getRemoteServiceChannel () e fetchRemoteUuids () para atualizar o arquivo número do canal em cada chamada func.

A solução acima pode estar errada, por favor me perdoe por isso. Se estiver correto, por favor, sugira quaisquer mudanças adicionais e como tornar esta mudança permanente no eclipse, ou em outro caso (solução errada), a maneira correta de fazer isso.

Nota: Eu tenho o Android 2.3.5 e as solicitações do dispositivo são realmente do navegador que eu encaminhar para o PC. Eu quero eles em canais separados.

obrigado.

questionAnswers(0)

yourAnswerToTheQuestion