2016-04-25 4 views
1

Я пытаюсь запустить это каждый день утром. Как я могу это сделать, что для меня он делает один раз в день. Ниже мой код, но он не работает.Выполняет ежедневную андроид-студию

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 - первая страница.

+1

Вместо этого используйте AlarmManager, в частности setRepeating ... – drulabs

ответ

1

Я думаю, что ваш вопрос: «Как запустить запланированную фоновое задание»? Опираясь на активности не поможет, потому что активность должна быть видимыми для запуска (см таблицы состояния ж/документации активности. Вы могли бы быть счастливее ж/фон Service и запустить его из Application

Удачи.

Смежные вопросы