package
com.example.alimee;
import
java.util.Calendar;
import
android.app.AlarmManager;
import
android.app.PendingIntent;
import
android.app.Service;
import
android.content.Intent;
import
android.content.SharedPreferences;
import
android.os.IBinder;
import
android.preference.PreferenceManager;
import
android.util.Log;
import
com.example.alimee.data.SystemWakeUp;
public
class
UpdateService
extends
Service {
@Override
public
IBinder onBind(Intent intent) {
return
null
;
}
@Override
public
void
onCreate() {
super
.onCreate();
SystemWakeUp.acquireCpuWakeLock(
this
);
}
@Override
public
void
onDestroy() {
super
.onDestroy();
Log.d(
"myApp"
,
"destroy..."
);
SystemWakeUp.releaseCpuLock();
}
@Override
public
int
onStartCommand(Intent intent,
int
flags,
int
startId) {
startUpdate();
return
START_REDELIVER_INTENT;
}
public
void
setAlarm() {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(
this
);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,
17
);
cal.set(Calendar.MINUTE,
10
);
cal.set(Calendar.SECOND,
0
);
long
interval =
24
*
60
*
60
*
1000
;
Intent intent =
new
Intent(
this
, UpdateService.
class
);
PendingIntent pendingIntent = PendingIntent.getService(
this
,
0
, intent,
0
);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), interval, pendingIntent);
Log.d(
"myApp"
,
"start alarm"
);
if
(!pref.getBoolean(
"check"
,
false
)) {
am.cancel(pendingIntent);
stopSelf();
}
}
public
void
startUpdate() {
setAlarm();
function f =
new
function();
f.a();
f.b();
f.c();
}
}