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);
	}
}
时间: 2024-10-11 23:07:47

Service的生命周期的相关文章

Android activity和service的生命周期对比

1Activity生命周期 七个方法 1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的onCreate事件就会被执行.如果Activity被销毁后(onDestroy后),再重新加载进Task时,其onCreate事件也会被重新执行. 2. void onStart()   activity变为在屏幕上对用户可见时调用. 3. void onResume()   activity开始与

Android 测试Service的生命周期

1 package com.example.myapp4; 2 3 import android.support.v7.app.ActionBarActivity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.view.Menu; 7 import android.view.MenuItem; 8 import android.view.View; 9 import android.w

18_Android中Service的生命周期,远程服务,绑定远程服务,aidl服务调用

?? 1 绑定服务(本地的方式),要做如下的案例: 操作步骤:"先点击绑定服务",再点击"调用服务里面的方法",然后查看服务的执行情况. 2编写Android清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" pack

Android Service的生命周期

service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopService()方法来停止它. 当service被停止时,系统会销毁它. A bound service 被绑定的service是当其他组件(一个客户)调用bindService()来创建的. 客户可以通过一

service的生命周期以及两种service的差异

图片来源网络 可以看到,两种service的生命周期都相对简单,有一点不同的是,Intentservice每次调用的时候都执行onstartcommand,而boundservice一旦启动了之后,就不会每次执行onbind 在启动服务的activity消亡时,Intentservice不会消失,而boundservice的所有绑定者都消亡的时候,会消失 Intentservice一般不于启动者互动,而boundservice可以实现信息传递

Activity和Service的生命周期(图)

1.Activity的生命周期 情形一.一个单独的Activity的正常的生命过程是这样 的:onCreate->onStart->onPause->onStop->onDestroy.例如:运行一个 Activity,进行了一些简单操作(不涉及页面的跳转等),然后按返回键结束. 情形二.有两个Activity(a和b),一开始显示a,然后由a启动b,然后在由b回到a,这时候a的生命过程应该是怎么样的呢(a被b完全遮盖)? a经历的过程为 onCreate->onStart-

8.1.1 Service的生命周期

2010-06-21 16:57 李宁 中国水利水电出版社 字号:T | T <Android/OPhone开发完全讲义>第8章Android服务,本章主要介绍了Android系统 中的服务(Service)技术.Service是Android中4个应用程序组件之一.在Android系统内部提供了很多的系统服务,通过这些系统 服务,可以实现更为复杂的功能,例如,监听来电.重力感应等.本节为大家介绍Service的生命周期. AD: 8.1.1  Service的生命周期 本节的例子代码所在的工

Service的生命周期与Activity生命周期区别

组件的生命周期 应用程序组件都有一个生命周期,从响应Intent的Android实例开始到这个实例被销毁.在这期间,他们或许有效或许无效,有效时或许对用户可见或许不可见.下面我们就来讨论四个基本组件的生命周期,包括在生命周期内的各种状态,以及状态之间的转换.这几种状态可能的结果是:进程让他们停止, 然后实例被销毁.  一.activity生命周期     一个activity有三个基本的状态:  @ 当activity在前台运行时(在activity当前任务的堆栈顶),为活动或者运行状态.这时a

Android 四大组件之Service 的生命周期和使用

Service简介: Service 是Android的四大组件之一,一般用于没有UI界面,长期执行的后台任务,即使程序退出时,后台任务还在执行.比如:音乐播放. Service的误区: 1.service在UI线程中执行. 2.不可以在service中执行耗时任务,因为service是在UI线程中运行的. 3.如果需要执行后台的耗时任务,必须在Service中开启一个线程来执行. Service的生命周期: 启动和停止Service的两种方式 1.context.startService():