Android Bluetooth - исходный код - PullRequest
1 голос
/ 23 мая 2011

Я боролся с проектом Bluetooth на Android уже несколько недель. Кто-нибудь знает, куда я могу обратиться, чтобы увидеть реальный код, который используется Google для обеспечения их логики сопряжения и соединения Bluetooth?

Я прошел через всю документацию, приложение BluetoothChat (которое не работает, как рекламируется ... пробовал его на 3 разных телефонах), а также кучу других сайтов в сети, но все же не повезло. Мне нужно, чтобы приложение работало на версии 2.1 или выше.

Любой совет или помощь с благодарностью.

Ответы [ 3 ]

2 голосов
/ 23 мая 2011

Ах, если у вас возникли проблемы с кодом уровня приложения, я не уверен, что пристальный взгляд на источник диспетчера Bluetooth будет очень полезен, но здесь вы идете: https://android.googlesource.com/platform/packages/apps/Bluetooth код приложения диспетчера Bluetooth.

Я еще раз повторю: это, честно говоря, вероятно, не будет полезным для того, что вы хотите.Вы должны иметь возможность получить разумно работающее приложение Bluetooth, не обращая на это внимания.

РЕДАКТИРОВАТЬ: если вам нужен код, реализующий пакеты Bluetooth (android.bluetooth), см. https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/bluetooth длячто.

2 голосов
/ 23 мая 2011

Да, проект Bluetooth у меня не работает, потому что не работает код для сокетного соединения

 // Get a BluetoothSocket for a connection with the
            // given BluetoothDevice
            try {
                if (secure) {
                    tmp = device.createRfcommSocketToServiceRecord(
                            MY_UUID_SECURE);
                } else {
                    tmp = device.createInsecureRfcommSocketToServiceRecord(
                            MY_UUID_INSECURE);
                }
            } catch (IOException e) {
                Log.e(TAG, "Socket Type: " + mSocketType + "create() failed", e);
            }

это не работает ...

замените его следующим кодом

BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(device.getAddress());
Method m;
m = hxm.getClass().getMethod("createRfcommSocket", new Class[]{int.class});
socket = (BluetoothSocket)m.invoke(hxm, Integer.valueOf(1));
1 голос
/ 23 мая 2011
...