【发布时间】:2013-12-05 21:44:45
【问题描述】:
我有一个非常奇怪的问题:我的应用程序可以发送短信,许多用户报告说他们支付了短信费用,即使他们的订阅可以免费发送短信。短信被发送到一个国家电话号码,一个经典的智能手机(朋友)。
代码如下:
private void sendSMS(String phoneNumber, String message)
{
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
MyLog.log("send message to " + phoneNumber + " string: " + message);
}
我问我的运营商(WIND ITALY)是什么问题,他们告诉我好像是国际号码,短信套餐不包括国际短信。
我试过的都是本地的,没有一个是国际的。更换承运人不是解决方案...我尝试与所有国家承运人合作。
有人有建议吗?
【问题讨论】:
-
AFAIK,您无法做任何事情来影响给定短信的付款与否。可能的解释:您的应用程序中的错误将消息发送到错误的号码;目标号码不是标准号码,收费不同
-
感谢您的评论,但应用程序正确发送消息,我告诉您这是因为消息是从另一部手机收到的。目标号码有国家前缀,也许我可以尝试删除前缀......看看发生了什么...... :)
-
也许它会将消息发送到那个号码和其他号码。
-
Pedro ...我不这么认为...因为我是开发人员,我知道应用程序做什么...(希望如此):)