Me basaré en lo explicado en el post anterior y en el post sobre envío de mensajes de texto.
Lo primero que se necesita hacer es conectar el celular al computador por USB, activar el modo depuración y la conexión USB a Portal y Herramientas.
Se debe iniciar el servidor de SL4A. Menú->Ver->Interpretes->Menú->Iniciar Servidor->Privado.
Luego se averigua en los mensajes de notificiación que puerto abre el servidor. En mí caso fue el 58825.
Desde la consola de Linux se ejecutan los siguientes comandos:
Redirecciona toda petición al puerto 9999 al puerto 58825.
./adb forward tcp:9999 tcp:58825
Se exporta una variable de ambiente.
export AP_PORT=9999
El programa es el siguiente:
#!/usr/bin/env python2.6 # -*- coding: utf-8 -*- #Script que permite enviar mensaje de texto a un celular android desde Linux. #Autor: Ernesto Crespo #Correo:ecrespo@gmail.com #Licencia: GPLv3 #Versión:0.1 #Importando el módulo android,sys y re import android,sys,re #Función de envio de mensajes def Enviomensaje(): #Se averigua si se le pasa al script el número celular y el mensaje, y que el número sea válido para venezuela. if len(sys.argv) == 3: numero = sys.argv[1] mensaje = sys.argv[2] else: print "error enviando mensaje, se necesita pasar el número y mensaje" sys.exit if Validar(numero) == 0: print "Número invalido" sys.exit #Creando la instancia droid del objeto Android droid = android.Android() #Enviando el mensaje de texto droid.smsSend(numero,mensaje) #Se presenta un mensaje de notificación en el celular. droid.makeToast('Mensaje enviado')#Función que válida si el número es de movilnet, digitel o movistar. def Validar(numero):#Valida si los numeros tienen 11 digitos y que sean de los proveedores movilnet, digitel y movistarif len(numero) == 11 and ((re.search("041[2|4|6]\d\d\d\d\d\d\d",numero)) or (re.search("042[4|6]\d\d\d\d\d\d\d",numero))) :return 1else:return 0#Ejecución del programa.if __name__ == "__main__":Enviomensaje()
Ejecutar el script.
enviomensajes.py 0xxxyyyzzww "2da prueba, avisame si te llega el sms"
No hay comentarios:
Publicar un comentario