第7天(service)
其他
2018-07-16 14:43:55
阅读次数: 0
1.第一种开启服务的方式(startService,demo示例)
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
Intent service;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.err.println("。。。。。。。。。。。。。。MainActivity的onCreate执行");
}
public void click1(View view) {
service = new Intent(this, DemoService.class);
// 开启服务
this.startService(service);
}
@Override
protected void onDestroy() {
super.onDestroy();
System.err.println("。。。。。。。。。。。。。。MainActivity的onDestroy执行");
// 停止服务
this.stopService(service);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class DemoService extends Service {
@Override
public IBinder onBind(Intent intent) {
System.err.println("service开始onBind。。。。。。。。。。。。。。。。");
return null;
}
@Override
public void onCreate() {
super.onCreate();
System.err.println("service开始onCreate。。。。。。。。。。。。。。。。");
}
@Override
public void onDestroy() {
super.onDestroy();
System.err.println("。。。。。。。。。。。。。。。。service开始onDestroy");
}
}
//点击开启服务按钮后打印日志如下:(会执行service中的onCreate方法)
05-29 05:22:49.158: W/System.err(1291): service开始onCreate。。。。。。。。。。。。。。。。
//点击手机的后退键退出Activity打印日志如下:(先执行MainActivity的onDestroy方法,再执行service的onDestroy方法)
05-29 05:22:55.257: W/System.err(1291): 。。。。。。。。。。。。。。MainActivity的onDestroy执行
05-29 05:22:55.297: W/System.err(1291): 。。。。。。。。。。。。。。。。service开始onDestroy
//此种开启服务的方式,开启后就在后台一直存在,直到执行stopService方法停止服务。
//服务有个好处,可以在后台自己运行(服务的生命周期比Activity要长),这样我们就可以把启动服务的功能方法广播中(手机重启广播),这样手机一启动变开启服务。
转载自blog.csdn.net/qq_34097912/article/details/80499327