5

这听起来可能很奇怪,但我想在手机上找到我收到短信的号码。我可以得到里面存在的 SIM 卡的手机号码telephonyManager.getLine1Number()(虽然不能保证我会得到电话号码)。但是如果我的手机中有两个 SIM 卡怎么办?因为telephonyManager.getLine1Number()只会返回我第一个/活动 SIM 的 SIM 信息。

编辑:我也尝试获取收到任何短信时获得的所有信息,但我找不到任何有趣的东西。

那么有没有办法从收到的短信中获取收件人的号码(而不是发件人的号码)?

4

1 回答 1

-2

试试这个代码,

public class SmsReceiver extends BroadcastReceiver {    

@覆盖 公共无效 onReceive(上下文上下文,意图意图){

Bundle extras = intent.getExtras(); if (extras == null) return; Object[] pdus = (Object[]) extras.get("pdus"); String[] fromAddress = new String[pdus.length]; SmsMessage[] message = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { message[i] = SmsMessage.createFromPdu((byte[])pdus[i]); fromAddress[i] = message[i].getOriginatingAddress(); // it will give the address from where SMS was originated. }

}

于 2013-09-25T11:44:10.463 回答