gpt4 book ai didi

android - 发送同一条短信两次

转载 作者:行者123 更新时间:2023-12-05 00:07:41 25 4
gpt4 key购买 nike

我正在尝试制作一个短信 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);
}

所以..任何人...任何提示?!

谢谢

最佳答案

您好 :) 好吧,我可能是错的,但是 pendingIntent.send(); 不是在发送消息吗?另外,在 Debug模式下,试着看看 LogCat 说的是什么 :) 也许你会在那里找到答案 ;)

关于android - 发送同一条短信两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com