1.Android中使用Service的目的:后台运行和跨进程访问。
2.Service中的生命周期有三种:创建服务、开始服务、销毁服务
3.Service生命周期对应的三个方法:onCreate()\onStart()\onDestory()
4.服务和Activity一样,也需要在AndroidManifest.xml文件中进行配置:配置的方法是:
在application标签下面加入:
<service android:enable="true" android:name=".MyService"/>
其中:android:enable="true"表示服务处于激活状态
android:name=".MyService"表示服务类
方法:启动服务:startService()
停止服务:stopService()
实例:
MainActivity.java
package com.example.servicetest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private Button button1, button2;
private Intent serviceIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
serviceIntent = new Intent(this, MyService.class);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
startService(serviceIntent);
break;
case R.id.button2:
stopService(serviceIntent);
break;
default:
break;
}
}
}
MyService.java
package com.example.servicetest;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
//服务第一次创建的时候被调用的方法
@Override
public void onCreate() {
Log.d("MyService", "这个是OnCreate方法...在服务创建的时候被调用....");
super.onCreate();
}
@Override
public void onDestroy() {
Log.d("MyService", "这个是onDestroy方法...在服务销毁的时候被调用....");
super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
Log.d("MyService", "这个是onStart方法...在服务开始的时候被调用....");
super.onStart(intent, startId);
}
}
AndroidManifest.xml
<service android:enabled="true" android:name=".MyService" />