Sevice(服务)

特点:

后台运行,不可见,没有界面;

优先级高于Activity;

用途:

播放音乐,记录地理信息位置的告白,监听某种动作...

注意:

运行在主线程,不能用它来做耗时的请求或者动作

可以在服务中开一个线程,在线程中作耗时操作

类型:

本地服务(Local Service):

应用程序内部:

startService stopService stopSelf stopSelfResult

bindService unbindService

远程服务:(Remote Service):

Android系统内部的应用程序之间(同设备)

定义IBinder接口

生命周期:

左边是start方式启动的生命周期,右边是bind方式启动的生命周期:

Start方式特点:

服务跟启动源没有任何联系;

无法得到服务对象;

Bind方式特点:

通过Ibinder接口实例,返回一个ServiceConnection对象给启动源

通过ServiceConnetion对象的相关方法可以得到Service对象

start方式启动:

start方式销毁:

自定义Service类:

bind方式启动:

bind方式销毁:

自定义Service类:

```

public class MyBindService extends Service {

    @Override

    public void onCreate() {

        super.onCreate();

    }

    public IBinder onBind(Intent intent) {

//        IBinder这里无法直接使用,需要自己重写一个类去继承Binder

        return new MyBinder();

    }

    public class MyBinder extends Binder{

        public MyBindService getService(){

            return MyBindService.this;

        }

    }

    @Override

    public boolean onUnbind(Intent intent) {

        return super.onUnbind(intent);

    }

//定义4个方法模拟播放器

    @Override

    public void onDestroy() {

        super.onDestroy();

    }

    public void play(){

        Log.e("tyl","播放");

    }

    public void pause(){

        Log.e("tyl","暂停");

    }

    public void next(){

        Log.e("tyl","下一首");

    }

    public void pervious(){

        Log.e("tyl","上一首");

    }

}

```

注册(两种方式一样):

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考: 服务|Android Developers 一. 什么是服务 服务是一个可以在后台执行长时间运行操作而不提...
    NickelFox阅读 561评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • #Android 基础知识点总结 ---------- ##1.adb - android debug bridg...
    Mythqian阅读 3,380评论 2 11
  • 上篇文章介绍了IPC机制的基本概念以及简单使用,文章链接:Android 关于IPC机制的理解(一) 这篇文章主要...
    老实任阅读 764评论 0 2
  • 偶然之间听到一首熟悉的声音,原来是以前喜欢的一个演员他新出的专辑,新歌很好听,人亦是一如既往的帅气逼人。还是很喜欢...
    阿俊xi阅读 217评论 0 0