如何在Android SMS服务中更改发件人手机号码

时间:2011-12-21 11:48:19

标签: android sms

我正在Android应用中发送短信,

 SmsManager sm = SmsManager.getDefault();
    String number = "1234567890";
    sm.sendTextMessage(number, null, "Test SMS Message--Successful", null, null);

工作正常。我的问题是,是否可以添加字符串/文本而不是发件人移动号码?因此,在收件人移动设备中,发件人的手机号码将显示为该字符串/文本。

2 个答案:

答案 0 :(得分:2)

没有。这不可能。以下是有多种原因:

  • 当您使用SmsManager发送短信时,您会使用内容对其进行编码 - 实际的短信本身。您还可以使用发送给它的电话号码对其进行编码。然后将消息中心编号编码为消息。这就是你要编码的全部内容。然后,Android /硬件处理将其发送到手机信号塔,然后它就在你的手中。
  • 如果您以某种方式尝试将收件人电话号码编码为文本,则运营商将不知道如何处理该邮件。它也没有任何地方可以发送它。
  • 手机没有入站来电(或短信)ID - 当然,除非该号码已编程。
  • 当运营商网络发送短信时,它会通过信息中心。消息中心确定将哪些数据转发到收件人电话。目前可用的消息中心不支持您想要的 - 至少不支持消费者。

答案 1 :(得分:1)

是的,可以更改发件人电话号码,但您需要使用第三方SMS网关。您可以将短信重新路由到您为自己的应用注册的电话号码。

Twilio - http://www.twilio.com/help/faq/sms/can-i-specify-the-phone-number-a-recipient-sees-when-getting-an-sms-from-my-twilio-app

TextMagic - http://www.textmagic.com/app/pages/en/products/bulk-sms-gateway-api