我每天早上都在试着运行这个。我如何做到这一点,它使我一天一次。下面是我的代码,但它不能工作。
public final class FetchMail extends TimerTask {
DatabaseHelper myDb;
SQLiteDatabase db = myDb.getReadableDatabase();
public static void main (String... arguments ) {
TimerTask fetchMail = new FetchMail();
Timer timer = new Timer();
timer.scheduleAtFixedRate(fetchMail, getTomorrowMorning4am(), fONCE_PER_DAY);
}
@Override
public void run(){
Cursor t = db.rawQuery("SELECT ID_TARGET,TARGET,LEAD_TIME FROM TARGET_TABLE WHERE (LEAD_TIME < date('now')) AND AMOUNT > 0", null);
if (t != null ) {
if (t.moveToFirst()) {
do {
String tmpName = t.getString(t.getColumnIndex("TARGET"));
String selectQuery = ("INSERT INTO GAMIFICATION(ID,HISTORY,STATE_POINTS) VALUES(NULL,'Points: " + tmpName + "',-1)");
db.execSQL(selectQuery);
}while (t.moveToNext());
}
}
}
private final static long fONCE_PER_DAY = 1000*60*60*24;
private final static int fONE_DAY = 1;
private final static int fFOUR_AM = 4;
private final static int fZERO_MINUTES = 0;
private static Date getTomorrowMorning4am(){
Calendar tomorrow = new GregorianCalendar();
tomorrow.add(Calendar.DATE, fONE_DAY);
Calendar result = new GregorianCalendar(
tomorrow.get(Calendar.YEAR),
tomorrow.get(Calendar.MONTH),
tomorrow.get(Calendar.DATE),
fFOUR_AM,
fZERO_MINUTES
);
return result.getTime();
}}我必须向MainActivity添加一些东西吗?因为MainActivity是第一页。
发布于 2016-04-26 05:31:09
我想你的问题是“如何运行预定的后台任务”?依赖活动不会有帮助,因为活动需要可见才能运行(请参阅状态表和活动文档。如果从Application开始使用后台Service,您可能会更高兴
祝好运。
https://stackoverflow.com/questions/36851299
复制相似问题