Service 夜间不工作的服务

Service 夜间不工作的服务,service,Service,我有一个正在运行的服务,像这样每秒重复一个方法 Calendar calendario; int wifiAct; int datosAct; int avionAct; private String cadenaHora; private String cadenaMinuto; private String cadenaSegundo; DecimalFormat fmt; private int miHora; private int miMinuto; private int miSe

我有一个正在运行的服务,像这样每秒重复一个方法

Calendar calendario;
int wifiAct;
int datosAct;
int avionAct;

private String cadenaHora;
private String cadenaMinuto;
private String cadenaSegundo;
DecimalFormat fmt;
private int miHora;
private int miMinuto;
private int miSegundo;
private Handler handler;
private SQLiteDatabase db;

private Runnable updateTimerThread = new Runnable() {
    public void run() {
        handler.postDelayed(this, 1000);
        contador();
    }
};

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(this,
            "configuracion", null, 1);
    db = usdbh.getWritableDatabase();

            handler = new Handler();

    handler.postDelayed(updateTimerThread, 1000);
    return START_STICKY;

}
方法contador()

之后,我在SQLite数据库中检查小时、分钟和5秒后的时间与我想要运行该方法的时间相对应。好的,它可以工作,但在晚上它不工作。为什么?我不知道。如果我运行它,它工作得很好,但在晚上不行

这不是C#或服务器。这是来自Android和SQLite数据库的代码。我更改代码,如果处理程序运行,我每5分钟写入一次数据库。但我不知道原因,但它停止听runnable。但根本没有理由。它突然开始,又突然停止

我已经在几个安卓SDK中安装了它,安装得很干净,但也存在同样的问题

有什么建议吗


提前感谢

询问您的管理员,他们是否在夜间运行任何备份脚本,这些脚本会使数据库离线一段时间。为什么会标记c#?这是c#?吗,也是@SriramSakthivel我的错,我在做假设。@JMK标记java是合适的
private void contador() {
    calendario = Calendar.getInstance();
    miHora = calendario.get(Calendar.HOUR_OF_DAY);
    miMinuto = calendario.get(Calendar.MINUTE);
    miSegundo=calendario.get(Calendar.SECOND);

    fmt = new DecimalFormat("00");

    cadenaHora = fmt.format(miHora);
    cadenaMinuto = fmt.format(miMinuto);
    cadenaSegundo=fmt.format(miSegundo);

    Cursor c = db.rawQuery("SELECT * FROM Usuarios", null);
        if (c.moveToFirst()) {
            do {
                hora_desde = c.getString(0);
                hora_hasta = c.getString(1);
            } while (c.moveToNext());
            c.close();
        }

    if (hora_desde.equals(cadenaHora + ":" + cadenaMinuto) && cadenaSegundo.equals("05")) {
                //Whatever...
    }
...