先做的一个项目,大体是,我这边如果程序已经停止,需要发送一个通知给远程的Httpserver服务器,

然后,远程服务器会通过websocket,通知,显示在大屏上的页面,去清空大屏数据,这样就有问题了,

android,程序如果终止,不走ondestroy这个方法,所以没办法,在这里面进行,发送消息给HttpServer服务器.

那怎么办呢?

可以通过服务来实现,我们去写一个Service,然后通过这个service,我们在MainActivity中,启动这个service,

然后,这个service,会每隔1秒钟或者多久,去检测,我们的这个程序是否还在运行,如果不运行了,就

发送一个通知给远程的HttpServer服务器.

并且,这个Service,也会随着,我们的程序的结束而自动结束.虽然,Service自动结束了,但是

之前,我们的Service中,发送的message给Handler,这个还没有执行完,我们发送过去的message会放到

队列中,所以,就会出现,虽然我们的程序终止了,并且Service也终止了,但是service中,检测到程序终止,发送

给远程服务器的清屏命令,也是生效的.

下面是我们的,检测程序是否已经关闭,如果关闭就给远程服务器发送Http,清屏命令的类:

package com.baidu.idl.face.main.server;import android.app.ActivityManager;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.util.Log;import com.baidu.idl.main.facesdk.utils.GetConfigValue;import java.io.IOEx

AndroidStudio_android通过服务,检测本程序是否已经终止运行_终止运行后发送通知给Http服务器---Android原生开发工作笔记246相关推荐

  1. AndroidStudio_后台服务以及活动和服务间通信_通过service中的binder实现活动和服务的通信---Android原生开发工作笔记216

    onBind,可以把我们服务修改的内容,反应到android的界面上去. 可以看到之前我们写了一个service服务,可以看到里面,已经覆盖了一个onBind方法,我们在这里写,绑定到界面的逻辑就可以 ...

  2. AndroidStudio_安卓原生开发_获取系统S/N序列号_实现在springboot服务端_设备远程保活监控---Android原生开发工作笔记159

    android项目做好了,以后,所有pad设备,在springboot服务后端,需要实现监控,那么,这个时候就需要保活机制,这个保活机制,可以让服务端,实时监控,所有的pad设备的,工作状态. 实现思 ...

  3. AndroidStudio_android蓝牙开发总结_连接硬件设备_测量_血压_血糖_握力_心电_等---Android原生开发工作笔记244

    关于硬件设备的蓝牙连接一般都有给的demo,一般情况下按照demo去写就可以了,但是实际情况下, 有时候,实际应用,要比demo要复杂一些,比如设备使用过程中,直接就断开,断电等异常情况比较多. 我看 ...

  4. AndroidStudio_android实现双击_3击_监听实现---Android原生开发工作笔记240

    这里可以实现3击,或者2击. 下面的方法可以实现,检测用户按下屏幕,3击,或者2击 //按钮点击配置 long[] mHits = new long[3]; 这里写入2,就是2击,3就是3击,下面是我 ...

  5. AndroidStudio_Android中使用Handler实现非阻塞线程间通讯_跨线程更新UI_耗时处理完成后主动通知更新UI_在同一个activity用---Android原生开发工作笔记219

    其实也是很简单的,比如,我们要是在android中去访问,http请求服务器的话,那么这个时候,UI线程不会一直等着,你访问完成,再去更新UI,因为这样 会导致看起来卡顿. 这个时候可以这样: 例如我 ...

  6. AndroidStudio_后台_服务的介绍_生命周期_注册_启动停止---Android原生开发工作笔记215

    由于项目需要这里先直接跳到服务这里了,之后会补充其他部分. 先看一下服务的介绍.这个服务类似于windows中的服务,可以在服务列表中找到 首先声明一个服务的类,然后把这个服务类注册到 manifes ...

  7. AndroidStudio_android开发在线文档_在线API_蓝牙开发在线文档---Android原生开发工作笔记243

    http://www.android-doc.com/guide/topics/connectivity/bluetooth.html http://www.android-doc.com/refer ...

  8. AndroidStudio_android中实现对properties文件的读写操作_不把properties文件放在assets文件夹中_支持读写---Android原生开发工作笔记238

    这个东西还挺麻烦,因为是android中,我们一般把文件放到assets文件夹中去,但是实际上,这个raw文件夹和assets文件夹 是只读的,对,就是只读的只能读取,不能写入,所以一定要把文件写入到 ...

  9. AndroidStudio_android中实现ImageView的清空操作---Android原生开发工作笔记235

    清空imageView控件的图片,有几种方式 check_step_img.setBackground(null); check_shy_ns_img.setBackground(null); che ...

最新文章

  1. 百度编辑器修改,不让它自动替换html标签
  2. linux shell脚本 引入外部shell文件
  3. 设计模式复习-备忘录模式
  4. BZOJ-2190-仪仗队-SDOI2008-欧拉函数
  5. Poj(1459),最大流,EK算法
  6. 【文文殿下】网络流学习笔记
  7. [Sdoi2010] 地精部落
  8. TensorFlow实验(2)
  9. 最佳展示场景kit:顶部视角的展示场景(Mockups)
  10. 经典Python面试题之Python基础篇
  11. 用layoutit框架写的Bootstrap首页
  12. 苹果也能做深度学习了!PyTorch宣布支持苹果M1芯片GPU加速:训练快6倍,推理提升21倍...
  13. org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold
  14. redis的hash与string区别
  15. Unity学习之Human fall flat创意工坊地图制作
  16. 登录功能的测试用例设计
  17. ROS-talker,listener
  18. 【数学】均匀分布生成其他分布的方法
  19. H5活动邀请函用这个就可以了
  20. 任正非在2012实验室的讲话

热门文章

  1. 银辉机器人说明说_银辉儿童电动声控玩具 智能编程对话尊尼机器人 男孩礼物...
  2. mysql in语句 索引,MySQL 中索引相关 SQL 语句
  3. 完美的代价(蓝桥杯)
  4. 机器学习笔记——决策树之回归树
  5. tensorflow数据读取机制
  6. python模拟键盘输入+切换键盘布局
  7. 为什么豌豆荚可以在应用安装完成界面打广告?
  8. 爬虫库之BeautifulSoup学习(五)
  9. PHP中global与$GLOBALS的区别
  10. C - Catch That Cow