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