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

标签 java android exception sleep wait

我正在尝试制作一个非常简单的应用程序。我想要做的是拥有一个可以向 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/

相关文章:

android - 如何从android中的图库中获取选定的图像?

exception - 如何全局处理 Yesod 中所有处理程序的异常?

java - 如何让 Java 日志记录使用修改后的 java.util.logging.Level 类

java - 我的飞利浦 Hue 灯闪烁

java - MySQL 插入错误?

java - makeHttpRequest 崩溃

java - 来自数据库的消息包 Spring MVC 3

Android TextInputEditText,inputType = textPassword,我看不到圆点

java - 异步 Http 客户端 - 如何使用

exception - 配置 Grails 以邮寄生产环境中生成的所有异常