Android – ¿Cómo habilitar Bluetooth para estar siempre encendido?

Dos preguntas sobre el desarrollo de Bluetooth en Android:

  1. ¿Hay alguna forma de habilitar Bluetooth para que esté siempre activado (podría haber una fase larga de detección de dispositivos en mi aplicación) en Android? Por lo que puedo ver el valor predeterminado es una cuenta atrás de 120s.

  2. ¿Existen implementaciones de API de código abierto de Bluetooth?

La implementación de Bluetooth ya está disponible en la API de Android 2.0. Vea esto y esto .

Habilitar Bluetooth para estar siempre encendido, puede no ser una buena decisión, si su única preocupación es demora de descubrimiento largo ("duración de la batería").

En cuanto a terceros Bluetooth APIs, lo único que he oído hablar es iAnywhere Blue SDK (de Sybase, no libre, sólo versión de evaluación disponible), que cubre algunas de las características, que se apoyará en el futuro desde el Paquetes del sistema / del bluetooth y del bluez .

De acuerdo con la hoja de ruta Bluetooth de Android, la mayoría de las cosas esperadas desde hace mucho tiempo como Java API, Bluetooth 2.1 + EDR se implementarán, en un punto en el futuro.

Buena suerte con tu proyecto.

En 2.3.6 puedo mantener el dispositivo siempre visible poniendo el retardo 0:

Intent di = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); di.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0); 

La pila de Bluez en Linux es una implementación de código abierto. También está disponible en Windows, pero la API es mucho más completa en Linux.

Cuando usted dice, "habilitar Bluetooth para estar siempre en" quiere decir, siempre tratando de descubrir otros dispositivos?

La mayoría de los chips bluetooth tienen un modo de suspensión profunda, donde el chip está en su mayoría hacia abajo y sólo sube una búsqueda de actividad en cualquier vínculo establecido. Sólo despertará a plena potencia cuando desee que haga algo (descubrimiento, conexión) o si hay actividad en un enlace existente.

Sí, usa más energía de la batería que si el Bluetooth estuviera totalmente apagado, pero no es un vampiro total.

  private void ensureDiscoverable() { if(D) Log.d(TAG, "ensure discoverable"); if (mBluetoothAdapter.getScanMode() != BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) { Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); startActivity(discoverableIntent); } 

http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_REQUEST_DISCOVERABLE

BlueCove es una implementación bluetooth de código abierto para Java.

Funciona en un montón de diferentes máquinas y si es correcto hay una versión compatible con Android que está al acecho en algún lugar.

  • IBeacons - Compañía (Estimate, Gimbal, etc.) SDKs contra la biblioteca de Android / iOS
  • Transferencia de datos Android + Arduino Bluetooth
  • ADB sobre Bluetooth Android
  • Android GATT Services devuelve Null después de muchas conexiones satisfactorias
  • Android enviar archivo / datos desde la aplicación a través de Bluetooth a la PC / impresora / escáner / otro dispositivo
  • ¿Permitir que dos dispositivos se vean en Android usando la interfaz wifi?
  • Implementar un tiempo de espera en BluetoothSocket inputstream.read () en Android
  • Thread, Asynctask o intentService para mi aplicación?
  • ¿Cómo hacer el par a través de bluetooth a zebra mz320 printter?
  • ¿Qué desencadena las transmisiones BluetoothDevice.ACTION_ACL?
  • Android BLE onCharacteristicRead y onCharacteristicChanged nunca llamado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.