您的位置:首页 > 移动开发 > Android开发

Android判断后台Service服务是否运行,获取所有的服务

2014-09-18 09:42 701 查看
在项目开发过程中,常常需要在开启一个服务之前判断该服务是否已经在运行。

//本方法判断自己写的一个Service-->com.star.myService是否已经运行
public static boolean isServiceRunning()
{
ActivityManager myManager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServiceInfo>) myManager.getRunningServices(30);
for(int i = 0 ; i<runningService.size();i++)
{
if(runningService.get(i).service.getClassName().toString().equals("com.star.myService"))
{
return true;
}
}
return false;
}


以传参的方式将该方法改造成判断服务是否运行的通用方法,开启服务前先判断,避免重复开启,引发不可预料的异常。

//本方法判断服务是否已经运行
public static boolean isServiceRunning(String serviceName)
{
ActivityManager myManager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServiceInfo>) myManager.getRunningServices(30);
for(int i = 0 ; i<runningService.size();i++)
{
if(runningService.get(i).service.getClassName().toString().equals(serviceName))
{
return true;
}
}
return false;
}

更多最新资讯请关注本博客!点击进入:来自星星的礼丶精品屋
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: