android - pasar - porque no puedo enviar archivos por bluetooth a otro celular
Android: Apagar/perder la conexión bluetooth o recibir archivo-> Hacer algo (1)
Como habrás adivinado, puedes hacer esto con un BroadcastReceiver
y un Service
. Configuraría su receptor de difusión para manejar el evento de "desconexión por bluetooth" y luego desconectaría el servicio para hacer algo al respecto.
En el manifiesto, declara tu receptor:
<receiver android:name=".YourReceiver">
<intent-filter>
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
</intent-filter>
</receiver>
En tu BroadcastReceiver
, harías algo como esto:
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
context.startService(new Intent(context, YourService.class));
}
}
Y su Service
manejaría la creación del archivo ficticio:
@Override
public void onCreate() {
// Create the dummy file, etc...
}
También querrás hacer cosas como comprobar el dispositivo que se está desconectando, etc., pero esto debería ayudarte a comenzar. Además, nunca he usado la pila Bluetooth, pero creo que ese es el nombre de acción relevante.
Quiero escribir una aplicación que supervise mi conexión de bluetooth emparejada de la siguiente manera:
Si un archivo proviene de una fuente emparejada, debe almacenarse. Si no se pasó ningún archivo y la conexión Bluetooth se avería, mi aplicación almacenará un archivo ficticio.
Almacenar un archivo funciona muy bien, mi principal problema es cómo ejecutar todo esto sin tener una actividad en mi pantalla ....
Leo mucho sobre servicios, pero sobre todo se dice que un servicio depende de una actividad / aplicación ... ¿es así?
¿Hay alguna otra posibilidad para darse cuenta de algo así? ¿Qué hay de los receptores de difusión? ¿Cómo puedo programar esta funcionalidad?
Estoy deseando leer sus respuestas (creativas) ;-) buenos saludos, poeschlorn