传入消息的目标地址

时间:2012-10-15 12:20:07

标签: android sms

当我在BroadcastReceiver中收到新的短信时,如何从短信获取目的地地址(以便我拥有设备的手机号码)?

代码:

TelephonyManager tMgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String myPhoneNumber = tMgr.getLine1Number();

工作,因为TelephonyManager中的getLine1Number()方法检索              数据              存储在SIM卡上的“电话号码”(不是电话号码              界              到用户的帐户) - 这通常是错误的或              不存在的,              取决于它是从哪个网络提供商发货。

我已经检查了SMSMessage班级,我找不到任何帮助我的方法。

1 个答案:

答案 0 :(得分:2)

如果您对getLine1Number()不满意,可以尝试以下方法:

这是一个answer,它显示了如何获取有关已发送短信的数据,包括目标地址(我认为这是您需要的)。答案是已发送短信,但如果您将"content://sms/sent"更改为"content://sms/inbox",则应该能够访问收到的短信。我不确定收件箱短信是否也包含目的地地址,但值得检查。