处理程序延迟 Android 服务

Handler postDelayed in Android Service

在我的应用程序中,有一个 Service 旨在 运行 启动后一直在后台运行。此服务从 Activity 启动,这是 onStartCommand() 方法:

MyService:
....

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    super.onStartCommand(Intent intent, int flags, int startId)
    mHandler.postDelayed(new myRunnable(), scheduledTime);
}

我想知道如果 scheduledTime 非常大(比方说几天以毫秒为单位),Handler 是否仍会执行 Runnable? 或者我应该更好地使用 AlarmManager 吗?

谢谢。

I want to know if having a very big scheduledTime variable (lets say it represents a couple of days), the handler will still execute the runnable?

是的,如果 Handler 发布到的服务和线程届时将处于活动状态。

Or should I better use the AlarmManager for this?

是的。