Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Parking reminder Android App

2 diciembre, 2014

En esta entrada vamos a ver el código de una aplicación Android que hemos realizado para recordar dónde hemos dejado el coche, yo lo utilizo cuando viajo a una ciudad nueva, aparco y no se muy bien luego guiarme por la ciudad. Después de unas vueltas por la ciudad y con mi escasa orientación no se dónde he dejado el coche, pues para eso hemos realizado esta aplicación.

El funcionamiento es básico, una vez que te hayas descargado la aplicación de Google Play, la aplicación se conectará y desconectará por bluetooth a tu coche dejando una miga de pan (o una marca) en el mapa de Google Maps que indicará dónde está estacionado tu coche.

Si tienes Bluetooth lo hará automáticamente, en el caso de que no tengas Bluetooth tendrás que hacer click en la aplicación para que deje la señal del lugar en el que has aparcado.

Si quieres bajarte la aplicación Parking reminder para recordar dónde has dejado el coche, puedes hacerlo desde el link y bajará directamente de Google Play.

parking reminder

Vamos con la parte interesante del código, para recibir notificaciones de cuando se conecta y desconecta tu aplicación via Bluetooth usamos la siguiente clase:

//If you want your app noticing a bluetooth event (i.e. disconnecting/conecting...) 
//you should use a Receiver which will be called when this event is triggered
 
 
 
public class MyBTReceiver extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)){
	    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
	    String deviceName = device.getName();
 
	    Toast.makeText(context, "Bluetooth disconnected from device: " + deviceName, Toast.LENGTH_LONG).show();
 
 	    //If you want to start a service/activity from here:
            Intent serviceIntent = new Intent(context, MyService.class);
	    context.startService(serviceIntent);
        }
    }
}

Necesitarás los siguientes permisos para que tu dispositivo Android se puede conectar, que tendrás que declararlos en el fichero manifest, quedaría así:

//Two permissions are needed:

También tendrás que declarar el receivers en el fichero manifest, sería algo así:

// and you need to declare the receiver int he manifest:

Este es un error frecuente, que puedes solventar usando BluetoothDevice en vez de device, se solventaría así:
:

//If you Toast is not showing, one common mistake is using 
 
 
 
//instead of:
 
 
 
//(Notice the "BluetoothDevice" instead of "device")

Si te ha gustado o te ha sido util me gustaría que me ayudases con la web haciendo un +1 en Google + . Gracias!