SL4A - Utilitários que usam Python Facades
Aplicativos baseados em e-mail
Os aplicativos baseados em e-mail são um dos utilitários mais comuns disponíveis em um dispositivo móvel. Pode-se usar osendEmail Chamada de API disponível através da fachada SL4A Android.
Esta função leva três parâmetros -
to_address - uma lista de destinatários separados por vírgulas.
title - representa o título da mensagem de e-mail.
message - representa a mensagem a ser enviada.
import android,datetime,smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
droid = android.Android()
serv = ’smtp.gmail.com’
port = 587
mailto = ’chris’
mailfrom = ’charley’
pass = ’pass@123’
msg = MIMEMultipart()
msg[‘Subject’] = ’Tes Mail’
msg[‘To’] = mailto
msg[‘From’] = mailfrom
body = ’This is a test mail!!’
msg.attach(MIMEText(body,’plain’))
smtpCon = smtplib.SMTP(serv,port)
smtpCon.starttls()
smtpCon.login(mailfrom,pass)
smtpSendmail(mailfrom,mailto,msg.as_string())
smtpCon.close()
A biblioteca python que foi usada para construir o programa de e-mail é smtplib. Além disso, usamos a biblioteca de e-mail. Esta biblioteca contém várias funções auxiliares que nos permitem construir nossa mensagem na forma correta. omimetypes biblioteca ajuda com a codificação de nossa mensagem.
Scanner Wifi
O código a seguir lista todos os pontos de acesso Wi-Fi disponíveis -
import android, time
def main():
global droid
droid = android.Android()
while not droid.wifiStartScan().result:
time.sleep(0.25)
networks = {}
while not networks:
for ap in in droid.wifiGetScanResults().result:
networks[ap[‘bssid’]] = ap.copy()
droid.dialogCreateAlert(‘Access Points’)
droid.dialogSetItems([‘%(ssid)s,%(level)s,%(capabilities)s’ %
ap for ap in networks.values() ])
droid.dialogSetPositiveButtonText(‘OK’)
dorid.dialogShow()
if __name__=’__main__’:
main()
Registro de chamadas
O código para registros de chamadas é fornecido abaixo.
import android
droid = android.Android()
mylog = droid.getConstants("android.provider.Calllog$Calls").result
calls = droid.queryContent(mylog["CONTENT_URI"],["name","number","duration"]).result
for c in calls:
print c