protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(this,LongRunningService.class);
startService(intent);
}
public class LongRunningService extends Service {
public LongRunningService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
Log.d("LongRunningService", "excuted" + new Date().toString());
}
}).start();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int anHour = 60*60*1000;
long trigerAtTime = SystemClock.elapsedRealtime()+anHour;
Intent alarmIntent = new Intent(this,AlarmReceive.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,alarmIntent,0);
manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,trigerAtTime,pendingIntent);
return super.onStartCommand(intent, flags, startId);
}
}
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
Intent i = new Intent(context,LongRunningService.class);
context.startService(i);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android用AlarmManager实现后台任务-android学习之旅(63)
原文地址:http://blog.csdn.net/lpjishu/article/details/47318675