Estoy buscando la manera de conectar el zócalo rfcomm de forma insegura. Pude encontrar el camino mencionado a continuaciónCómo crear un socket RFCOMM inseguro en Android?
Method m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
Por el momento, estoy haciendo lo que quiero. Incluso la documentación sobre here dice que necesitamos usar createInsecureRfcommSocketToServiceRecord para conexiones inseguras. Pero no hay tal método. La única forma en que descubrí fue usando la reflexión como se muestra arriba. E incluso en eso, el método que se pasa en createInsecureRfcommSocket y no createInsecureRfcommSocketToServiceRecord. Solo quería saber qué tan confiable es de esta manera. Si menciono createInsecureRfcommSocketToServiceRecord en el método, la conexión nunca ocurre.
Muchas gracias por indicarme la dirección correcta. Si esa API está disponible solo desde el nivel 10 de la API, entonces ¿cómo me conecto a los dispositivos de forma insegura? Si estoy desarrollando un ATM con Android 2.1 – sunil
, ha encontrado el mejor compromiso. Solo tenga en cuenta que la solución de reflexión puede desaparecer en versiones posteriores, por lo que puede escribir su código para verificar la versión en el dispositivo con 'Build.VERSION' y usar la API pública para 2.3 y versiones posteriores.Esto requerirá que aumente su Nivel de API objetivo a 10, pero deje su Nivel mínimo de API en 5 (o 7), de modo que seguirá ejecutándose en dispositivos anteriores que ejecuten 2.1 o 2.2. ¡Espero que ayude! – Devunwired
@Wireless, pero ¿funcionará con el método createInsecureRfcommSocketToServiceRecord() en API 7? –