Android 创建服务(一)

Service是Android中四大组件之一,在Android开发中起到非常重要的作用,是一个没有用户界面的在后台运行执行耗时操作的应用组件。

通过startService()启动的服务处于“启动的”状态,一旦启动,service就在后台运行,即使启动它的组建被销毁,它还是处于运行状态。

service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的。

下面,我们看看如何创建,使用service

首先定义一个类,继承 android.app.Service,并且重写onCreate,onDestroy,onStartCommand三个方法

public class MyService extends Service {

    @Override
    public void onCreate() {
        Log.i("shxtapp","创建服务");
    }
    @Override
    public void onDestroy() {
        Log.i("shxtapp","停止服务");
    }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i("shxtapp","启动服务");
        return super.onStartCommand(intent, flags, startId);
    }

}

然后再

在AndroidManifest.xml中注册,位置同Activity

<service
    android:name=".MyService">
</service>

然后自需要启动服务之前,创建一个Intent,指向这个Service

intent = new Intent(this, MyService.class);

conn = new MyServiceConn();

在需要启动服务的时候

startService(intent);

在需要结束服务的时候

stopService(intent);

在onStartCommand方法中的代码,就是服务要做的工作,服务一般不会单独存在,一般都和广播共存,当接收到指定的广播,调用Service服务来做相应的处理。

服务还有另外一种使用方法,我们下一章再介绍,再见!

时间: 2024-12-18 08:09:49

Android 创建服务(一)的相关文章

3D语音天气球——在Unity中使用Android语音服务

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3D语音天气球(源码分享)--创建可旋转的3D球 二:通过天气服务,从网络获取时实天气信息并动态生成"3D球":3D语音天气球(源码分享)--通过天气服务动态创建3D球 三:Android语音服务和Unity的消息传递 四:Unity3D端和Android端的结合 前两篇文章已经介绍了如何创

Android的服务(Service)(三)Service客户端的绑定与跨进程

继续上篇的分析,接下来是第三个问题"Service与其客户端的绑定如何实现,即跨进程调用问题" (一).Service的生命周期 (二).Service的自动重启问题 (三).Service与其客户端的绑定如何实现,即跨进程调用问题. 服务于客户端的绑定通过binder来实现的,就是客户端去bind服务.来看看ContextImpl的bindServiceCommon方法 private boolean bindServiceCommon(Intent service, Service

Android Service服务——初识

很抱歉(对我,也是对大家)过了两个星期说好的要发的博客迟迟没有动静,因为最近在与高等数学死磕,同时参加了一个党内的培训,所以现在的学习生活有些紧张,自己的的草稿都堆积了好几篇了,现在我就对于我应朋友之情需要完成一个android的播放器,对于其中的一些简单的要点,写一些自己的感悟. 首先我要提到的时Android  Service服务,其实我接触到Service这个概念的时间并不长,首先在做这个不能算作工程的东西时,我就想到了,android需要有这样的一个机制,通过一个程序去控制歌曲的播放,同

Android中 服务Service 电话窃听器

组件-服务 后台长期运行的没有界面的一个activity. 电话窃听器: 需求: 1.没有界面,一般用户看不到,开机自动启动 2.长期的后台运行,监视当前用户的手机状态 3.通话状态,开启一个录音机,然后录音通话记录,保存在sd卡中. 创建服务的步骤: 1.写一个类,继承系统的Service组件 2.清单文件配置 3.在服务的onCreate()方法做服务初始化的操作 4.在服务的onDestroy()方法里面做服务扫尾操作 5.开启服务startService(intent) stopServ

Android的服务(Service)(一)生命周期

本篇和接下来的几篇我们来浅析一下Android的另外一个非常重要的组件:Service,看到这里我们的脑海里都会涌现出什么词语呢?诸如:无用户交互界面,耗时后台操作,服务(级别)进程,远程调用. 1.看看Service的代码,好干净的感觉,没错,它就定义了一些生命周期的方法以及一些成员,注意这些成员中并没有Window,所以Service是没有用户界面的. 2.Service能进行后台耗时操作只是因为她的进程级别,并不是因为这个组件本身,因为执行后台操作的根本是工作线程.做应用和系统的都很了解进

Android service 服务

Android的服务: 1:已启动方式: startService()和bindService(): startService:启动后,如果Activity关闭了,服务依然运行,除非stopService: bindService:创建开启服务器,但是在程序关闭的时候,会自动关闭服务: 通过ServiceConnectionjava接口获取service的IBinder接口: 2:控制服务(绑定服务): (1)但是上述两个方式都是通过Intent创建启动服务的,没有通过new,所以没有直接控制s

Android Service服务-(转)

Service是Android系统中提供的四大组件之一.它是运行在后台的一种服务,一般声明周期较长,不直接与用户进行交互. 服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务.这两个方法都可以启动Service,但是它们的使用场合有所不同.    1. 使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行.    如果打算采用Context.startService(

.Net程序员玩转Android开发---(20)Android绑定服务

绑定服务是在android中局部使用的服务,客户端和服务是在同一进程中工作的,不需要跨进程操作.客户端通过bindService方法与服务创建关联 下面这个例子演示客户端调用服务的获取时间方法 1.创建绑定服务 首先创建服务, 服务中创建一个内部类TimeBinder,继承Binder,通过Onbind回调返回服务实例, 在服务中创建一个获取时间的公共方法,供客户端调用 package com.example.helloword; import java.text.SimpleDateForma

Android 定位服务(Location-Based Services)

Android定位服务融合了GPS定位.移动通信.导航等多种技术,提供与空间位置相关的综合应用服务.近些年来,基于位置的服务发展更为迅速,涉及商务.医疗.工作和生活的各个方面,为用户提供定位.追踪和敏感区域警告等一系列服务. Android平台支持提供位置服务的API,在开发过程中主要使用LocationManager和LocationProviders对象. - LocationManager: 用来获取当前位置,追踪设备的移动路线,或设定敏感区域,在进入或离开敏感区域时设备会发出特定警报.