Service 中的Intent service
1.类似于Activity类和其他组件,开发人员必须在应用程序配置文件中声明全部的service.为了声明Service,需要向<application>标签中添加<Service>子标签如图Mainest中的配置
2.如IntentService工程图一个service类在Activity去startService
3.对于InternService所包含的的的全部操作:没有参数的构造方法和onHandleIntent()方法,如果开发人员决定重写其他回调方法,如OnCreate()、OnStartCommand()或OnDestory(),需要调用父类实现,这样IntentService能正确处理工作线程的生命周期
4.Service类中的代码:
packagecom.example.intentservice;
importandroid.app.IntentService;
importandroid.content.Intent;
importandroid.text.format.Time;
importandroid.util.Log;
publicclassCurrentTimeServiceextendsIntentService{
publicCurrentTimeService(){
super("CurrentTimeService");
//TODOAuto-generatedconstructorstub
}
@Override
protectedvoidonHandleIntent(Intentintent){
//TODOAuto-generatedmethodstub
Timetime=newTime();//创建对象
time.setToNow();//获取当前系统时间
StringcurrentTime=time.format("%Y-%m-%d%H:%M:%S");
Log.i("CurrentTimeService",currentTime);
}
}
5.Activity类中的代码:
packagecom.example.intentservice;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
publicclassCurrentTimeActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Buttonbutton1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewarg0){
//TODOAuto-generatedmethodstub
startService(newIntent(CurrentTimeActivity.this,CurrentTimeService.class));
}
});
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
getMenuInflater().inflate(R.menu.activity_main,menu);
returntrue;
}
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。