发送相同的短信两次
问题描述:
我想做一个短信android应用程序,但我收到了一个我从未见过的错误,即使在谷歌我还没有找到类似的东西。 所以,如果你能帮助我...我会很高兴发送相同的短信两次
由于某种原因,该程序在同一时间发送两个消息(相同的短信)。 但它只是在生产中发生。当我使用模拟器时,一切正常!它发送短信只是一次...
我已经尝试了很多手机和许多电话运营商,但总是发生错误。 我真的不知道如何去发现所发生的事情,因为它只会发生在真正的手机,而不是在模拟器......
代码如下所示:
private void sendSMS(String phoneNumber, String message, Context context) {
ContextWrapper cw = new ContextWrapper(context);
Context baseContext = cw.getBaseContext();
Intent intentSMS = new Intent(baseContext, SMSManagerService.class);
intentSMS.putExtra("celNumber", phoneNumber);
intentSMS.putExtra("textMessage", message);
Random s = new Random(System.currentTimeMillis());
PendingIntent pendingIntent = PendingIntent.getService(cw, s.nextInt(), intentSMS, PendingIntent.FLAG_ONE_SHOT);
try {
pendingIntent.send();
} catch (CanceledException e) {
}
}
SMSManagerService.class
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Bundle intentExtras = intent.getExtras();
if (intentExtras != null) {
String phoneNumber = intentExtras.getString("celNumber");
String message = intentExtras.getString("textMessage");
if (isContentValid(phoneNumber, message)) {
sendSMS(phoneNumber, message);
}
}
return super.onStartCommand(intent, flags, startId);
}
private void sendSMS(String phoneNumber, String message) {
sentPI = registerSMSSent(phoneNumber, message);
deliveredPI = registerSMSdelivered();
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
so ..任何人...任何提示?!
THX
答
只是为了澄清问题,并给出答案...
这是在Android上的错误,这取决于手机和Android版本,运行SMS应用。
该错误是这里涉及: Google code Android inssues
和一个可能,这就是对我的作品,在这里相关: Android sendTextMessage sends two identical messages on exceution, how to fix?
答
嗨:)嗯,我可能是错的,但不pendingIntent.send();
发送消息?同时,而在调试运行模式,试图寻找什么logcat的是说:)也许你会找到答案有;)
答
这里我没有立即看到有什么问题。你可以连接你的电脑与你的android手机,在你的代码的某处放一个换行符并用这种方式进行调试吗?这样你可以检查它是如何进入SMSManagerService.class sendSMS
两次。
THX回答。 不幸的是LogCat没有记录任何异常。似乎是正确的。 和...“不是pendingIntent.send();发送消息?” 我不明白你的意思 – Emerick 2012-07-19 22:21:38
没关系,反正它是错误的想法;) – JuozasA 2012-07-20 19:25:23