粘性Service就是一种服务 把他删去他又会马上创建 原理是在这个服务中去开启线程不断检测此服务是否存在如果不存在,咋就会重新创建

 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); startService(new Intent(getApplicationContext(),PushService.class));
} }

MainActivity.java

 import java.util.List;

 import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder; public class PushService extends Service { @Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate(); new SeekServiceThread().start();
} @Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_STICKY;//绮樻�Service鏍囪瘑锛屽綋Service缁勪欢鍦ㄩ潪鎰忔効鏃惰鍋滄鍚庯紝鏈夋満鐜囬噸鍚�
} @Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
} //鏌ユ壘褰撳墠缁勪欢鐨勭嚎绋嬶紝濡傛灉褰撳墠姝h繍琛岀殑鏈嶅姟缁勪欢涓嶅寘鍚玃ushService缁勪欢鏃讹紝鍒欏惎鍔�
class SeekServiceThread extends Thread{ @Override
public void run() { while(true){ //1.鑾峰彇Activity缁勪欢绠$悊鍣紙绠$悊褰撳墠搴旂敤鐨勮繘绋嬨�鏈嶅姟缁勪欢銆佷换鍔℃垨鍥為�鏍堬級
ActivityManager mgr=(ActivityManager) getSystemService(ACTIVITY_SERVICE); //2. 鑾峰彇姝h繍琛岀殑鏈嶅姟缁勪欢
List<RunningServiceInfo> rServices = mgr.getRunningServices(100); boolean isFinded=false;//鏍囪瘑鏄惁鏌ユ壘鍒板綋鍓嶇殑service缁勪欢
for(RunningServiceInfo rService:rServices){
if(rService.getClass().getName().equals(PushService.class.getName())){
isFinded=true;
}
} if(!isFinded){ //濡傛灉娌℃湁鏌ユ壘鍒帮紝鍒欏惎鍔ㄦ湰鏈嶅姟缁勪欢 startService(new Intent(getApplicationContext(),PushService.class));
} try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
} }

PushService.java

最新文章

  1. quartz 数据表字典
  2. 【ZZ】Java : 一个帝国的诞生 &amp; 假如时光能够倒流, 我会这么学习Java
  3. 加载网络映射盘中的assembly失败的处理办法
  4. css3关键帧动画实现轮播效果
  5. javascript高性能写法
  6. 《代码大全(第二版)》【PDF】下载
  7. 按照不规则多边形shp文件分割底层栅格文件tif,统计不同栅格的属性值
  8. Spring Boot 构建电商基础秒杀项目 (十一) 秒杀
  9. webDriver文档阅读笔记
  10. req、js
  11. 【ARC063E】Integers on a tree
  12. x1c 6th usb-c 接口灯常亮,电源无法充电
  13. [AaronYang] 敏捷开发 教程目录
  14. xss绕过htmlspecialchars实体编码的姿势
  15. hive的实践部分
  16. Java--Jackson转换Date,Timestamp 到格式化字符串
  17. HttpClient发送get,post接口请求
  18. win7更改路由器wifi 密码
  19. HikariPool-1 - Connection is not available, request timed out after XXXXms.
  20. JAVA中所有与集合有关的实现类都是这六个接口的实现类

热门文章

  1. 在docker中运行kong和kong dashboard
  2. Spark分析之Dependency
  3. java的缓存框架
  4. python带参数装饰器使用
  5. python 编码文件json.loads json.dumps
  6. (15/24) 为webpack增加babel支持
  7. SourceTree使用方法
  8. Java Integer值用==和equals相等问题
  9. TPCC-MySQL的安装与使用
  10. 全屏幕显示AVI