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...
}
...