Android: ¿Cómo pasar una conexión Bluetooth a otra actividad?

Tengo mi primera Actividad en la que se establece la conexión BT. Hay una opción presentada al usuario y, según su selección, se cargará una actividad diferente.

El problema es que ambas actividades necesitan una conexión BT y no veo el punto de destruir una conexión sólo para hacer otra.

¿Hay alguna manera de pasar la conexión entre las actividades?

¿Alguien tiene algún ejemplo para mí o tal vez un enlace?

He intentado " class MyApplication extends Application ", pero luego no puedo usar:

 super.onCreate(savedInstanceState); setContentView(R.layout.blablabla); 

Esta puede ser una pregunta bastante tonta, pero sólo he estado en Android + – 2 semanas.

¿Ha intentado utilizar el objeto Aplicación para almacenar la conexión Bluetooth en un objeto y utilizar sus Actividades para obtenerlo?

Prueba algo como esto. (Nota: Nunca he trabajado con Bluetooth en Android, así que no sé qué clases relevantes utilizar.En este caso, voy a utilizar BluetoothDevice , ya que parece ser la clase correcta basada en la documentación de la biblioteca)

 public class MyApplication extends Application { BluetoothDevice device; ... public synchronized BluetoothDevice getBtConnection() { if (device == null) { // construct a BluetoothDevice object and put it into variable device } return device; } } 

De esta manera, su primera actividad sólo tiene que hacer esto:

 public class FirstActivity extends Activity { private BluetoothDevice device; ... @Override protected void onCreate(Bundle b) { super(b); ... device = ((MyApplication) getApplication()).getBtDevice(); ... } ... } 

Y luego, cada vez que otras Actividades necesitan usar esa conexión, solo necesitan llamar a getBtDevice() , ya que FirstActivity ya la ha instanciado.

¿Ha intentado usar un paquete?

Ver tema relevante

http://www.anddev.org/putting_an_object_into_a_bundle-t6431.html

Sé que es una vieja pregunta, pero para la nueva gente que visita este tema:

Creo que la respuesta de Kibibyte también funcionaría, pero de lo contrario existe la opción de usar un servicio (Bound)Service . Esto se ejecutaría incluso si la aplicación cierra

Documentación oficial de Android Service

Tuve el mismo problema, y ​​finalmente lo resuelvo! Por lo que al principio debe crear su conexión en una actividad y asegúrese de que el almacén de conexión en variable estática pública y puede llamar a esa variable de conexión en cada actividad que desea tener conexión Bluetooth. Le sugiero que utilice la clase de servicio para crear una conexión y utilizar una variable de conexión como esta

 BluetoothChatService mChatService=DeviceListActivity.chatService 
  • Desarrollo de Android con Netbeans IDE
  • Emulador de Android no se carga en netbeans
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.