2011-04-12 95 views
0

我使用的密鑰爲1024位的RSA加密,加密文本的長度將超過160個字節,並且在發送超過160個字節的SMS時,它會給出例外情況,並在使用sendmultisms()並分割消息之後接收端會得到不可打印的字符,而且我也會遇到如何對SMS進行連接的問題。如何在Android中發送長短信?

+0

我在做類似的事情! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42 2013-01-22 07:58:26

回答

1

你可以使用data-sms它支持真正的8位,其中正常的短信只需要7位。這就是爲什麼你在沒有進一步編碼的情況下會在另一邊獲得垃圾。

+0

什麼應該是端口號?它會拋出一個異常 – 2011-04-12 10:35:38

+0

問一個關於那個新問題,並且包括你得到的異常。 – theomega 2011-04-12 13:48:10

1

您也可以使用Base64編碼對加密文本進行編碼,將其分解爲字符串的ArrayList並使用sendMultipartTextMessage。然後根據需要發送儘可能多的SMS。

SmsManager sms = SmsManager.getDefault(); 
ArrayList<String> parts = sms.divideMessage(base64EncodedMessage); 
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null); 
+0

我這樣做,但它在接收端它收到不可打印的字符 – 2011-04-12 10:34:14

+1

你是否真的使用base64作爲編碼? – theomega 2011-04-12 13:46:11

+0

是的,我做到了。這種方法有什麼問題? – Corneliu 2011-04-13 10:57:26