我想做一個短信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
THX回答。 不幸的是LogCat沒有記錄任何異常。似乎是正確的。 和...「不是pendingIntent.send();發送消息?」 我不明白你的意思 – Emerick 2012-07-19 22:21:38
沒關係,反正它是錯誤的想法;) – JuozasA 2012-07-20 19:25:23