2011-12-21 33 views
0

我發送短信在我的Android應用程序發送者的手機號碼,如何更改Android的短信服務

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

這是工作的罰款。我的問題是,是否可以添加字符串/文本,而不是發件人手機號碼?因此在收件人手機中,發件人的手機號碼將顯示爲該字符串/文本。

回答

1

不,這是不可能的。以下列舉了多種原因:

  • 當您發送短信,使用SmsManager你與內容進行編碼 - 實際文本消息本身。您還可以使用您要發送給它的電話號碼對其進行編碼。並且您將消息中心號碼編碼爲消息。這就是你需要編碼的全部內容。然後Android /硬件把它發送到手機塔,然後它就不在您的手中。
  • 如果您以某種方式嘗試將收件人電話號碼編碼爲文本,那麼運營商將不知道如何處理該郵件。它不會有任何地方發送它。
  • 手機沒有入站呼叫者(或短信)ID - 當然,除非號碼已經編程。
  • 當運營商網絡發送短信時,它會通過消息中心。消息中心確定將什麼數據轉發給收件人電話。目前可用的消息中心只是不支持你想要的東西 - 至少不是消費者。
+0

不知道你的「手機不具備入站來電(或短信)ID」的意思,想必你總是看到電話呼叫的號碼(或發短信)你,而不必在手機上做任何「編程」? – unwind 2011-12-21 12:57:02

+0

我想我應該說沒有入站呼叫者姓名ID。我的意思是說他們無法從網絡中獲得來電者姓名。這就是爲什麼未知數總是表現爲數字。這說明了嗎? – Jakar 2011-12-21 12:59:47