概念:Service作为安卓的四大组件之一,并不像Activity一样,能够被我们看到。通常,它用于在后台为我们执行一些耗时,或者需要长时间执行的一些操作的。(可理解为没有界面的Activity)

使用:

1.Service的创建

创建一个类BasisService继承自Service,然后重写它的onCreate,onStartCommand,onDestroy方法,onBind方法是默认实现的,然后在大管家文件进行注册:如下

注册:

这里要提一点的是注册的时候,有一个enabled属性,和exported可以自己去了解一下

2.创建一个Activity,实现开启服务与停止服务,主要代码如下

通过看日志文件了解一下这种启动方式的生命周期

1.开启服务

2.停止服务

3.再次开启服务,并多次开启服务

可以得出结论,当一个Service被创建以后,再次调用startService方法,Service是不会被重新创建的,而是会重新执行onStartCommand方法。无论我们点击多少次start按钮,始终只会执行onStartCommand方法。

Java文件代码如下:

public class StartSevice extends AppCompatActivity implements View.OnClickListener {

private Button btn_start;

private Button btn_stop;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_start_sevice);

initView();

}

private void initView() {

btn_start = (Button) findViewById(R.id.btn_start);

btn_stop = (Button) findViewById(R.id.btn_stop);

btn_start.setOnClickListener(this);

btn_stop.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_start:

Intent startIntent = new Intent(this, BasisService.class);

//开启

startService(startIntent);

break;

case R.id.btn_stop:

Intent stopIntent = new Intent(this, BasisService.class);

//停止

stopService(stopIntent);

break;

}

}

}

本文同步分享在 博客“计蒙不吃鱼”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

android同步服务启动,Android Service的基本用法(startService启动方式生命周期)相关推荐

  1. android socket 服务端,Android socket 服务端

    Android socket 服务端 Android 想在Android 上跑一个 socket 服务端.把在java工程里运行起来的代码直接放到android项目里来,开启线程,创建ServerSo ...

  2. android 横屏竖屏设置,Android中强制设置横屏与竖屏,与横竖屏生命周期的设置

    许多小的知识点,是面试中经常会被提问到的,面试题也方式也会不一样,比如,让你在配置文件中设置Activity 为竖屏模式,答题方式是把相关的配置节点代码也给写出来,多少有点懵逼... 全屏 在Acti ...

  3. android 后台服务拍照,Android实现后台开启服务默默拍照功能

    本文实例为大家分享了Android后台开启服务默默拍照的具体代码,供大家参考,具体内容如下 最近项目原因,需要编写一后台运行的程序,在给定时间间隔下进行拍照,关键技术主要是:1.开启服务:2.在不不预 ...

  4. android 各种服务介绍,Android 网络服务介绍

    1. 介绍 Android网络服务主要包括如下四个部分 -ConnectivityService: 提供数据连接管理服务,包括移动数据.WIFI.以太网等-NetworkPolicyManagerSe ...

  5. 基于android志愿服务,基于Android的青年定制志愿者服务系统设计

    文章来源:淘论文网   发布者:毕业设计 浏览量: 参加社会服务已经成为爱心人士日常生活的组成部分.慈善组织除了在社会服务的组织管理方面需要付出很大多的人员劳动和时间.在青年志愿者的义工预约和活动参与 ...

  6. android同步服务启动失败,android – FirebaseCloudMessaging:FirebaseInstanceId后台同步失败 – SERVICE_NOT_AVAILABLE...

    我已在Android中使用Firebase云消息传递(FCM)API进行推送通知.当我实现那个时间完美的工作,但现在它找不到谷歌播放的服务. 错误是: FirebaseInstanceId: back ...

  7. android从服务检查,android开发分享Android:你如何检查是否启用了特定的AccessibilityService...

    我最后自己做了这个: public boolean isAccessibilityEnabled(){ int accessibilityEnabled = 0; final String LIGHT ...

  8. android 远程控制服务,基于Android的远程控制系统

    摘 要 远程控制可以实现远程操作服务端设备,达到远距离完成计算机作业的目的.本文所描述的系统便是一种远控系统,该系统在点对点模式的基础上,利用局域网建立手机和电脑端的连接,让手机模拟鼠标功能,远程操作 ...

  9. android webdav服务,开发Android Webdav服务器

    在我的应用程序中,我有一个NanoHttpd服务器https://github.com/NanoHttpd/nanohttpd 但现在我想添加一个webdav支持.我正在寻找一些教程或建议来做到这一点 ...

最新文章

  1. 关于滴水的VT调试器
  2. 没有bug队——加贝——Python 41,42
  3. redis java连接出错_redis连接错误与spring boot
  4. Smack 3.3.1 发布,Java 的 XMPP 开发包
  5. ttys和tty_Linux中tty、pty、pts的概念区别
  6. js中substr与substring的差别
  7. Disruptor 创建过程
  8. mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
  9. java的lr词法编译器,自制编译器 青木峰郎 笔记 Ch3 词法分析的概要
  10. h5 px 转dp_西游女儿国h5手游下载-西游女儿国h5手游下载v2.1.4 安卓版
  11. golang安装配置
  12. ubuntu 18.04 两张GPU显卡,nvidia-smi只显示一张
  13. java.util.concurrent.ExecutionException 错误解决。
  14. Python基础入门自学——18--操作Excel-工作实践需求
  15. 笔记:计算机视觉与深度学习-北邮-鲁鹏-2020年录屏-第一讲
  16. 【PHPWord】PHPWord生成图表-柱形图 | 设置数值类别展示、展示多组数据
  17. Numpy:repeat用法图解
  18. 淘宝评价计分规则讲解
  19. Python实现json串比对并输出差异结果
  20. Python实现批量汉字转拼音作搜索框提示词

热门文章

  1. 封装的可运行于winform与web的Log4Net的类库
  2. 结构体成员赋值-标记化结构体初始化语法-结构体成员前面加小数点
  3. 如何理解遗传算法中的编码与解码?以二进制编码为例
  4. BugkuCTF-Misc:眼见非实(ISCCCTF)
  5. Struts2学习总结一
  6. java Junit 为什么@Test注解里的方法必须是public void修饰的
  7. Object的finalize方法
  8. SSO模型及单点登录SSO技术选型
  9. hdu-1251(基本字典树)
  10. 深入了解以太坊虚拟机第4部分——ABI编码外部方法调用的方式