¿Cómo leer y escribir datos en puertos COM / Serial en Android?

Tengo que leer y escribir datos en los puertos COM del dispositivo usando android, estoy usando javax.comm paquete para eso, pero cuando instalé el archivo apk, no está mostrando ningún puerto del dispositivo así que hay permiso que yo necesidad de agregar en el archivo de manifiesto?

Su problema es uno con los sistemas operativos. Android ejecuta Linux bajo el capó , y Linux trata los puertos serie de manera diferente a lo que hace Windows. javax.comm también contiene win32com.dll , un archivo de controlador , que no podrá instalar en un dispositivo Android. Si encuentra una manera de lograr lo que está tratando de hacer, no puede buscar un puerto "COM" en un entorno Linux. Los puertos seriales irán por diferentes nombres.

  Windows Com Port Linux equivalent COM 1 /dev/ttyS0 COM 2 /dev/ttyS1 COM 3 /dev/ttyS2 

Por lo tanto, hipotéticamente, si su idea fuera a trabajar, usted tiene que buscar estos nombres.

Por suerte para usted, Android tiene disposiciones para la interfaz con dispositivos USB (que supongo que desea conectarse a, a diferencia de puertos paralelos o RS-232). Para ello, configurará su dispositivo como un host USB. Esto es lo que usted querrá hacer:

  1. Obtener un USBManager .
  2. Encuentre su dispositivo.
  3. Obtenga USBInterface y USBEndpoint .
  4. Abra una conexión.
  5. Transferir datos.

Aquí está mi estimación aproximada de cómo lo harás. Su código, por supuesto, tendrá una forma más madura de hacer las cosas.

 String YOUR_DEVICE_NAME; byte[] DATA; int TIMEOUT; USBManager manager = getApplicationContext().getSystemService(Context.USB_SERVICE); Map<String, USBDevice> devices = manager.getDeviceList(); USBDevice mDevice = devices.get(YOUR_DEVICE_NAME); USBDeviceConnection connection = manager.openDevice(mDevice); USBEndpoint endpoint = device.getInterface(0).getEndpoint(0); connection.claimInterface(device.getInterface(0), true); connection.bulkTransfer(endpoint, DATA, DATA.length, TIMEOUT); 

Material adicional para su placer de lectura: http://developer.android.com/guide/topics/connectivity/usb/host.html

  • ¿Qué optimizaciones puedo esperar de Dalvik y la cadena de herramientas de Android?
  • Analizar fecha en android
  • Android: Iniciar el primer plano no mostrará la notificación correctamente
  • Robolectric - La aplicación tiene Singletons en la configuración, causando problemas con las pruebas
  • Android onResume () no se llama
  • Implementar un RecyclerView en un fragmento
  • No se puede escribir en el campo de entrada después de cargar una página con InAppBrowser y la carga del hilador
  • Eventos personalizados en React Native Componente nativo de la interfaz de usuario de Android
  • Android: tener autoridad de proveedor en el proyecto de la aplicación
  • ¿Cuál es la forma más adecuada de almacenar la configuración de usuario en la aplicación de Android?
  • Cómo solucionar SIGABRT nativo con Mapsforge en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.