主要用到的api:
sms messages()
返回收件箱里的短信id列表
content(sms id)
返回收到短信的内容
time(sms id)
返回短信时间以秒计算
address(sms id)
返回发件人地址
------------------------------------------
源码:
# -*- coding: utf-8 -*-
# messagebox test
# copyright anarki
import inbox
import appuifw
import e32
import os
import time
mList=[]
def exit_key_handler():
app_lock.signal()
#appuifw.app.set_exit()
appuifw.app.screen='normal'
i=inbox.Inbox()
def getMsg():
global lb
if len(mList)!=0:
index = lb.current()
round = appuifw.Text()
round.set(mList[index])
appuifw.app.body = round
appuifw.app.menu=[('返回'.decode('utf-8'),showList)]
def showList():
global lb
if len(mList)==0:
round = appuifw.Text()
round.set('无短信'.decode("utf-8"))
appuifw.app.body = round
else:
lb=appuifw.Listbox(mList,getMsg)
appuifw.app.body = lb
appuifw.app.menu=[('打开'.decode("utf-8"),getMsg),('保存此条'.decode("utf-8"),saveOne),('保存全部'.decode("utf-8"),saveAll),('读取全部'.decode("utf-8"),loadMsg)]
def saveOne():
global mList
global lb
index = lb.current()
DIR='E://msg.txt'
f=open(DIR,'rt')
content=f.read()
tmp=eval(content)
f.close()
tmp.append(mList[index])
f=open(DIR,'wt')
f.write(repr(tmp))
f.close()
def delOne():
global mList
global lb
DIR='E://msg.txt'
index = lb.current()
del mList[index]
if len(mList)==0:
round = appuifw.Text()
round.set('无短信'.decode("utf-8"))
appuifw.app.body = round
else:
lb=appuifw.Listbox(mList,getMsg)
appuifw.app.body = lb
f=open(DIR,'wt')
f.write(repr(mList))
f.close()
def delAll():
global mList
global lb
DIR='E://msg.txt'
for j in range(0,len(mList)):
del mList[0]
if len(mList)==0:
round = appuifw.Text()
round.set('无短信'.decode("utf-8"))
appuifw.app.body = round
else:
lb=appuifw.Listbox(mList,getMsg)
appuifw.app.body = lb
f=open(DIR,'wt')
f.write(repr(mList))
f.close()
def saveAll():
global mList
DIR='E://msg.txt'
f=open(DIR,'rt')
content=f.read()
tmp=eval(content)
f.close()
for j in range(0,len(tmp)):
mList.append(tmp[j])
f=open(DIR,'wt')
f.write(repr(mList))
f.close()
def loadMsg():
global lb
DIR='E://msg.txt'
f=open(DIR,'rt')
content=f.read()
global mList
mList=eval(content)
f.close()
if len(mList)==0:
round = appuifw.Text()
round.set('无短信'.decode("utf-8"))
appuifw.app.body = round
else:
lb=appuifw.Listbox(mList,getMsg)
showList()
appuifw.app.menu=[('打开'.decode("utf-8"),getMsg),('删除此条'.decode("utf-8"),delOne),('删除全部'.decode("utf-8"),delAll)]
#app_lock = e32.Ao_lock()
#appuifw.app.body = lb
#app_lock.wait()
msgList=i.sms_messages()
#mList=[]
for j in range(0,len(msgList)):
mList.append(i.address(msgList[j])+u'/n'+i.content(msgList[j])+u'/n'+time.strftime("%y/%m/%d %H:%M", time.gmtime(i.time(msgList[j]))))
if len(mList)==0:
round = appuifw.Text()
round.set('无短信'.decode("utf-8"))
appuifw.app.body = round
else:
lb=appuifw.Listbox(mList,getMsg)
appuifw.app.body = lb
app_lock = e32.Ao_lock()
appuifw.app.menu=[('打开'.decode("utf-8"),getMsg),('保存此条'.decode("utf-8"),saveOne),('保存全部'.decode("utf-8"),saveAll),('读取全部'.decode("utf-8"),loadMsg)]
appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()