当我在BroadcastReceiver中收到新的短信时,如何从短信获取目的地地址(以便我拥有设备的手机号码)?
代码:
TelephonyManager tMgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String myPhoneNumber = tMgr.getLine1Number();
将不工作,因为TelephonyManager中的getLine1Number()方法检索 数据 存储在SIM卡上的“电话号码”(不是电话号码 界 到用户的帐户) - 这通常是错误的或 不存在的, 取决于它是从哪个网络提供商发货。
我已经检查了SMSMessage班级,我找不到任何帮助我的方法。
答案 0 :(得分:2)
如果您对getLine1Number()
不满意,可以尝试以下方法:
这是一个answer,它显示了如何获取有关已发送短信的数据,包括目标地址(我认为这是您需要的)。答案是已发送短信,但如果您将"content://sms/sent"
更改为"content://sms/inbox"
,则应该能够访问收到的短信。我不确定收件箱短信是否也包含目的地地址,但值得检查。