众所周知,Android 的 SMS 存储为:
CREATE TABLE sms (_id INTEGER PRIMARY KEY,
thread_id INTEGER,
address TEXT,
person INTEGER,
date INTEGER,
date_sent INTEGER DEFAULT 0,
protocol INTEGER,
read INTEGER DEFAULT 0,
status INTEGER DEFAULT -1,
type INTEGER,
reply_path_present INTEGER,
subject TEXT,
body TEXT,
service_center TEXT,
locked INTEGER DEFAULT 0,
error_code INTEGER DEFAULT 0,
seen INTEGER DEFAULT 0
)
在使用双卡手机的情况下,是否可以预期某些参数可以用来识别使用哪个 SIM 卡发送/接收短信?
已知person == NULL
在正常情况下用于发送短信;我的双卡 MTK 手机似乎没有任何倾向记住在对话中从哪个 SIM 卡发送了消息(这就是我曾经向朋友泄露我的工作号码的方式......)。
另外,我猜仍然只有一个 SMS 内容文件夹(否则会出现严重的兼容性问题),并且 ContentValues 似乎也无法存储太多数据。
但是,我仍然想同时支持 HTC 和 MTK 的双卡解决方案;将传入/传出 SMS 与 SIM # 关联的最知名方法是什么?如何获取传出短信的发件人#并获取传入的接收路径号?
PS“服务中心#”是已知但被拒绝的解决方案-我确实在一部手机中拥有来自一家运营商的两张 SIM 卡。