我正在尝试制作一个 sms 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);
}
所以..任何人...任何提示?!
谢谢