Android Service

Service的生命周期

Service对象不能自己启动,需要通过某个Activity、Service或者其他Context对象来启动。启动的方法有两种,Context.startService和Context.bindService()。
两种方式的生命周期是不同的,具体如下所示。

Context.startService方式的生命周期:
启动时,startService –> onCreate() –> onStart()
停止时,stopService –> onDestroy()

Context.bindService方式的生命周期:
绑定时,bindService  -> onCreate() –> onBind()
解绑定时,unbindService –>onUnbind() –> onDestory()

判断service是否已运行

pubic boolean isServiceRun(Context context){
     ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
     List<RunningServiceInfo> list = am.getRunningServices(30);
     for(RunningServiceInfo info : list){
         if(info.service.getClassName.equals("service的全称(一般为包名+service类的名称)")){
                  return true;
         }
    }
    return false;
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。