Álvaro González Sotillo

Insertar contactos en Android

En el instituto, estamos cambiando los teléfonos cableados por otros basados en una SIM. Los terminales son CoComm f720, y funcionan con Android.

El problema es que, al ser de la gama baja, no permite sincronizar contactos con ninguna cuenta. Para insertar los contactos en la agenda hemos usado adb para lanzar los intent de creación de un contacto, automatizado con un script.

Cada contacto se crea de la siguiente forma:

#!/bin/bash -x
ADB=/home/alvaro/Android/Sdk/platform-tools/adb

#android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS

insertar_contacto(){
    local NOMBRE="$1"
    local TELEFONO="$2"
    sleep 0.5
    $ADB shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "'Ext: $NOMBRE'" -e phone "'$TELEFONO'" | grep -i -e error -e warning
    local ERROR=$?
    if [ "$ERROR" = 0 ]
    then
        echo "Error $ERROR insertando $NOMBRE: $TELEFONO"
        exit
    fi
    
    sleep 0.5
    $ADB shell input tap 766 63 # pinchar en el menú
    sleep 0.5
    $ADB shell input tap 596 146 # pinchar en guardar
    sleep 0.5
    $ADB shell input keyevent KEYCODE_BACK
    #$ADB shell input keyevent KEYCODE_HOME # volver al home
}

echo "PRIMERO: Habilitar funciones de desarrollador (7 veces en buildnumber)"
echo "SEGUNDO: Habilitar ADB"
echo "TERCERO: Autorizar el ordenador portátil"
echo "CUARTO: Poner el teléfono como sitio por defecto para los contactos, si no no caben los nombres"
echo "QUINTO: Continuar..."


insertar_contacto "ACE" "5xXxXxX"
insertar_contacto "Casa conserje" "5xXxXxX"
insertar_contacto "Conserjería Arcipreste" "5xXxXxX"
insertar_contacto "Conserjería Avellaneda" "5xXxXxX"
insertar_contacto "Conserjería Mengíbar" "5xXxXxX"
insertar_contacto "Dirección" "5xXxXxX"
insertar_contacto "Dpt. Administrativo" "5xXxXxX"
insertar_contacto "Dpt. Comercio" "5xXxXxX"
insertar_contacto "Dpt. Comunes" "5xXxXxX"
insertar_contacto "Dpt. Electricidad" "5xXxXxX"
insertar_contacto "Dpt. FOL" "5xXxXxX"
insertar_contacto "Dpt. Idiomas" "5xXxXxX"
insertar_contacto "Dpt. Informática" "5xXxXxX"
insertar_contacto "Dpt. Orientación" "5xXxXxX"
insertar_contacto "Dpt. Socioculturales" "5xXxXxX"
insertar_contacto "Enfermería" "5xXxXxX"
insertar_contacto "FCT Arcipreste" "5xXxXxX"
insertar_contacto "FCT Avellaneda" "5xXxXxX"
insertar_contacto "J. E. Arcipreste 1" "5xXxXxX"
insertar_contacto "J. E. Arcipreste 2" "5xXxXxX"
insertar_contacto "J. E. Diurno 1" "5xXxXxX"
insertar_contacto "J. E. Diurno 2" "5xXxXxX"
insertar_contacto "J.E. Vespertino 1" "5xXxXxX"
insertar_contacto "J.E. Vespertino 2" "5xXxXxX"
insertar_contacto "Sala P. Arcipreste" "5xXxXxX"
insertar_contacto "Sala P. Avellaneda " "5xXxXxX"
insertar_contacto "Sala P. Distancia" "5xXxXxX"
insertar_contacto "Secretaria" "5xXxXxX"
insertar_contacto "Secretaría 1" "5xXxXxX"
insertar_contacto "Secretaría 2" "5xXxXxX"
insertar_contacto "Secretaría 3" "5xXxXxX"
insertar_contacto "Secretaría 4" "5xXxXxX"