Service的生命周期

Service的生命周期
   Service的生命周期例如以下
 第一种:Call to startService()方法->onCreate()->onStartCommand()->service running-

>onDestory->service shut down)


案例:
第一步

在布局文件加入两个button

<Button
        android:id="@+id/start_service"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="32dp"
        android:onClick="dostartService"
        android:text="启动simpleService" />

    <Button
        android:id="@+id/stop_service"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/start_service"
        android:layout_marginTop="51dp"
        android:onClick="dostopService"
        android:text="停止simpleService" />
第二步创建SimpleService类继承Service
package com.example.simpleservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class SimpleService extends Service{
	private  String  tag ="simpleService";
	@Override
	public void onCreate() {

		Log.d(tag, "simpleserviece ->onCreate()");
		super.onCreate();
	}
	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {

		Log.d(tag, "simpleserviece ->onStartCommand");
		return super.onStartCommand(intent, flags, startId);
	}
	@Override
	public void onDestroy() {
		Log.d(tag, "simpleserviece ->onDestroy()");

		super.onDestroy();
	}

	@Override
	public IBinder onBind(Intent intent) {

		return null;
	}

}

第三步配置文件在<application>节点下增加子节点(与activity节点平级):
<service android:name="com.example.simpleservice.SimpleService" >
        </service>

第四步在MainActivity中增加button点击方法:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

	}
	public void dostartService(View v){
		Intent intent = new Intent(this, SimpleService.class);
		startService(intent);
	}
	public void dostopService(View v){
		Intent intent = new Intent(this, SimpleService.class);
		stopService(intent);
	}
}


原文地址:https://www.cnblogs.com/gavanwanggw/p/7190560.html