Service是android中实现程序后台运行的解决方案,适合于执行那些不需要和用户交互且要求长期执行的任务,Service有以下几个特点:
1.service运行在后台,前台看不到
2.service不是运行在一个独立的进程中的,而是依赖于创建服务时所在的应用程序进程,程序被杀掉时,服务也会停止
3.service不会自己开启线程,但是服务一般会执行一些长时间的任务,常常需要手动创建子线程
下面来带大家学习下在服务中常用的,在后台执行定时任务的实现方法:
android中的定时任务一般有两种方式,一种是Timer类,一种是Alarm机制,Timer类的弊端是不能在CPU休眠时对其进行唤起,而Alarm可以唤起,使得后台的定时任务能一直正常运行,下面我们用Alarm机制来实现后台定时服务:
一.首先创建一个mainactivity,启动服务
public class MainActivity extends Activity {
Button myButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//点击startService按钮,开始启动MyService服务
myButton = (Button)findViewById(R.id.startService);
myButton.setOnClickListener(new OnClickListener()
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Inten