gpt4 book ai didi

java - 强制应用等待发送新短信

转载 作者:行者123 更新时间:2023-11-29 06:02:14 25 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的应用程序。我想要做的是拥有一个可以向 1 个或多个收件人发送多条文本的应用程序。我已经完成了这个,但它似乎没有发送全部文本。

我认为问题是文本正在快速发送到。我试图让程序稍等片刻,但当我输入“Thread.sleep(1000);”时我收到一条错误消息,指出 Eclipse 中存在未处理的异常。有没有解决的办法?我真的需要为这几行代码做一个 try/catch 吗?如果我确实需要 try/catch,那么为此应用编写它的最佳方式是什么?

另外,请注意,我允许在以后的版本中自定义 sleep 时间,因此请在您的回复中牢记这一点。

Integer i = 0;
while (i < numTextSend)
{
sms.sendTextMessage(number, null, message, null, null);
Thread.sleep(1000);
i++;
}

[编辑] 更新代码:

final Button confirm = (Button) findViewById(R.id.confirm);
confirm.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Grab values from UI
String number = String.valueOf(mNumber.getText().toString());
Integer numTextSend = Integer.parseInt(mNumTextSend.getText().toString());
String message = String.valueOf(mMessage.getText().toString());

//Send SMS message(s)
SmsManager sms = SmsManager.getDefault();
Integer i = 0;
while (i < numTextSend)
{
sms.sendTextMessage(number, null, message, null, null);
//Make App wait 1 second
i++;
}
}
});

最佳答案

您可以使用 handlerpostDelayed() 延迟执行任何任务

示例代码

    Handler h = new Handler();
Runnable r = new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
SmsManager sms = SmsManager.getDefault();
Handler h = new Handler();
Runnable r = new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(null, null, null, null,
null);
}
};
h.postDelayed(r, 1000);

}
};

关于java - 强制应用等待发送新短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9697690/

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