如何获得Android应用程序的方法来每天使用Eclipse运行方法?

时间:2013-07-03 01:02:00

标签: android eclipse sharedpreferences

我正在尝试让我的Android应用程序每天使用SharedPreferences运行一次方法。这是我到目前为止的代码..

    //for onEntry ad to run once daily
    Calendar c = Calendar.getInstance(); 
    int lastDayRan;
    SharedPreferences prefs = this.getSharedPreferences(
              "com.example.myapp", Context.MODE_PRIVATE);
    if(prefs.getInt("lastDayRan", lastDayRan) != today){//what to do now?

    }

2 个答案:

答案 0 :(得分:5)

如果您想确保自上次运行所需方法后至少已过去一天,请执行以下操作:

long minStartTime = System.currentTimeMillis() - 1000*60*60*24;
long lastTimeRan = prefs.getLong("lastTimeRan", -1);
if (lastTimeRan >= minStartTime) {
        // a day passed. do whatever...
        //also save the new 'lastTimeRan' in prefs
        prefs.edit().putLong("lastTimeRan", System.currentTimeMillis()).commit();
}

如果不是拧“lastTimeRan”,你会使用const

,这将是很好的

答案 1 :(得分:1)

为了执行周期性任务,比如每天执行一个方法,正确的方法是使用AlarmManager,它会根据你的日程安排配置执行onReceive方法触发广播,这是做这种日程的正确方法事件任务,请参阅以下示例以更好地了解如何执行此操作:

http://www.techrepublic.com/blog/app-builder/use-androids-alarmmanager-to-schedule-an-event/2651

问候!