Handler and postDelayed doesn't work if milliseconds number is too high
<p>I am trying to execute a service in the background. This service is started on boot and its function is to execute something every 8 hours. In this case it sends a file by mail using JavaMail API and gmail account. This is my code:</p>

<pre><code>private Handler mHandler;
private Runnable updateRunnable = new Runnable() {
    @Override public void run() {
        new MailSenderActivity.MailSender().execute();


        queueRunnable();
    }
};

private void queueRunnable() {


    mHandler.postDelayed(updateRunnable, 28800000); 
}

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {

    mHandler = new Handler();
    queueRunnable();       
}

@Override
public void onDestroy() {
    //code to execute when the service is shutting down
}
@Override
public void onStart (Intent intent, int startid) {
    //code to execute when the service is starting up
}
</code></pre>

<p>If <code>xxxx</code> in <code>mHandler,postDelayed(updateRunnable, xxxx)</code> is 600000 (10 minutes in milliseconds), it runs perfectly, but it doesn't if it is 28800000 (8 hours in milliseconds)</p>

<p>Any suggestions?</p>

<p>Thanks in advance</p>
