0

对不起,我的英语不好。

创建 Android 应用程序时,我正在实现 Java TimerTask。代码并不复杂。当它达到间隔时,它将发送短信和电子邮件。

我有一些发送短信/电子邮件间隔的选项。5分钟、15分钟、30分钟、1小时和2小时。

我尝试使用5分钟和15分钟(我将其转换为milis),没有出现问题。它准确地每 5 / 15 分钟发送一次短信和电子邮件。我证明我使用timertask没有问题。

但是,当我将其更改为 30 分钟或更长时间时。我的应用程序无法发送短信/电子邮件。看起来计时器无法正常工作。

使用 Timer Task 是否有任何时间间隔限制?

这是我的代码片段。

private void activateNotificationByInterval(int notificationInterval) {
    timerNotificationByInterval = new Timer();
    timerNotificationByInterval.schedule(new TimerTask() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            // coba
            // if (oldLatitude != childLatitude
            // && oldLongitude != childLongitude) {
            if ((enableSMS == true)) {
                sendSMS();
            }

            if ((enableEmail == true)) {
                GMailSender email = new GMailSender(sender, senderPassword);
                try {
                    email.sendMail(emailSubject + childsName, SMSMessage
                            + " " + childlLocation + "\nLatitude: "
                            + childLatitude + "\nLongitude: "
                            + childLongitude, sender, destination);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            mpv.changeLastLocation(childLatitude, childLongitude);
            // buat method untuk menangkap lokasi pertama
            oldLatitude = childLatitude;
            oldLongitude = childLongitude;
            // } else {
            // System.out.println("Lokasi Lama Berpengaruh");
            // }

        }
    }, 0, notificationInterval);
}

*注释:milis 上的 notificationInterval (*60000)

你能告诉我如何解决吗?谢谢你。

4

1 回答 1

0

使用 AlarmManager,这里有一个链接:

http://android-er.blogspot.in/2010/10/simple-example-of-alarm-service-using.html

于 2012-04-15T04:26:18.093 回答