二. "非绑定式服务"知识全解

前言

Service 以启动方式的不同,分为 绑定式服务 和 非绑定式 服务。这节我们就来讲讲 非绑定式 服务的相关知识吧

今天涉及内容:

  1. TempOneService代码
  2. 非绑定式的使用
    2.1 Service的注册
    2.2 非绑定式服务的启动与注销
  3. 非绑定式服务的生命周期
  4. Service注册属性介绍
  5. onStartCommand()返回值
  6. 非绑定式服务重启问题
  7. 非绑定式服务的自我销毁
    7.1 方法介绍
    7.2 参数解释及方法说明
    7.3 使用场景

一. TempOneService代码

还是以 TempOneService为例,基于此进行讲解,现在贴出TempOneService代码:

public class TempOneService extends Service {

        @Override
        public void onCreate() {
            super.onCreate();

            LogUtil.i("==服务=====onCreate======");
        }

        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {

            LogUtil.i("==服务======onStartCommand=====");

            return super.onStartCommand(intent, flags, startId);
        }

        @Nullable
        @Override
        public IBinder onBind(Intent intent) {

            LogUtil.i("==服务======onBind=====");

            return null;
        }

        @Override
        public void unbindService(ServiceConnection conn) {
            super.unbindService(conn);

            LogUtil.i("==服务=====unbindService======");
        }

        @Override
        public void onDestroy() {
            super.onDestroy();

            LogUtil.i("==服务=====onDestroy======");
        }

}

二.非绑定式的使用

之前我们已经讲过,使用服务的步骤是:

  1. 继承Service写一个自己的服务类
  2. 在 manifast.xml 中注册自己的服务类
2.1 Service的注册

上面我们已经继承Service写了自己的一个TempOneService 了,那么我们还需要在manifast.xml中去注册它,你可以类似下面这样注册:

        <service android:name="com.example.function.TempOneService">
            <intent-filter>
                <action android:name="com.example.function.TempOneService"  />
            </intent-filter>
        </service>

需要注意的是,在 manifast.xml 中配置服务的时候,一定要写 <action/>标签,这是为了保证你Service的唯一性,如果不加的话有时会导致你在代码中启动服务没反应。一般我设置<action android:name=“xxx”/> 中的 xxx 为自己Service(此处为TempOneService)的全路径。

2.2 非绑定式服务的启动与注销

一般要启动和注销一个非绑定式服务,你可以像下面这样:

还有 69% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥2.00 继续阅读

推荐阅读更多精彩内容

  • 服务基本上分为两种形式 启动 当应用组件(如 Activity)通过调用 startService() 启动服务时...
    pifoo阅读 1,291评论 0 8
  • 前言:本文所写的是博主的个人见解,如有错误或者不恰当之处,欢迎私信博主,加以改正!原文链接,demo链接 Serv...
    PassersHowe阅读 1,451评论 0 5
  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情况下的生命周期:在用户参与的情况下...
    AndroidMaster阅读 3,110评论 0 8
  • 参考: 服务|Android Developers 一. 什么是服务 服务是一个可以在后台执行长时间运行操作而不提...
    NickelFox阅读 561评论 0 3
  • [文章内容来自Developers] Service是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。...
    岳小川阅读 888评论 0 7