(转)列出Android设备中所有启动的服务,及判断某个服务是否开启!

今天给大家的小例子是列出Android设备中所有启动的服务,及判断某个服务是否开启,具体步骤如下了:

第一步:新建一个Android工程,命名为RunningService。

第二步:修改RunningService.java代码如下:

[java]  view plain copy
  1. package com.tutor.runningservice;  
  2. import java.util.List;  
  3. import android.app.Activity;  
  4. import android.app.ActivityManager;  
  5. import android.os.Bundle;  
  6. import android.widget.TextView;  
  7. public class RunningService extends Activity {  
  8.     /** Called when the activity is first created. */  
  9.     @Override  
  10.     public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         //setContentView(R.layout.main);  
  13.         TextView mTextView = new TextView(this);  
  14.         ActivityManager mActivityManager =   
  15.             (ActivityManager)getSystemService(ACTIVITY_SERVICE);  
  16.           
  17.         List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);  
  18.         //我要判断的服务名字,我在launcher2里加了一个音乐服务     
  19.         final String musicClassName = "com.android.launcher2.MusicService";  
  20.                 
  21.         boolean b = MusicServiceIsStart(mServiceList, musicClassName);  
  22.        
  23.         mTextView.setText("你要判断的服务状态为: " +b+"/n" + getServiceClassName(mServiceList));  
  24.         setContentView(mTextView);  
  25.     }  
  26.     //通过Service的类名来判断是否启动某个服务  
  27.     private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){  
  28.           
  29.         for(int i = 0; i < mServiceList.size(); i ++){  
  30.             if(className.equals(mServiceList.get(i).service.getClassName())){  
  31.                 return true;  
  32.             }  
  33.         }  
  34.         return false;  
  35.     }  
  36.     //获取所有启动的服务的类名  
  37.     private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){  
  38.         String res = "";  
  39.         for(int i = 0; i < mServiceList.size(); i ++){  
  40.             res+=mServiceList.get(i).service.getClassName()+ " /n";  
  41.         }  
  42.           
  43.         return res;  
  44.     }  
  45. }  

 

第三步:运行上述工程,查看效果!

 

不看不知道,一看吓一跳,乖乖,开了这么多服务,难怪手机很快就没电了。

 

 

上面的一些服务好多是系统自带的,并且不可见的,我们可以到Settings->Applications->Running services查看

一共才看到十来个服务。



转自:http://blog.csdn.net/android_tutor/article/details/5824581

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
以下是Android服务类Intent的Flag: 1. `START_FLAG_REDELIVERY`: 如果服务在运行时被系统杀掉,则在资源允许的情况下重新启动服务,并重新传递最后一个意图。 2. `START_FLAG_RETRY`: 如果服务在运行时被系统杀掉,则在资源允许的情况下重新启动服务,并重新传递最后一个意图。与START_FLAG_REDELIVERY相同,但会忽略任何等待时间。 3. `START_FLAG_ACTIVITY_CLEAR_TASK`: 如果在启动服务时,服务正在运行并且服务的进程已经在后台,则将该任务移到前台并清除该任务之前的所有任务。 4. `START_FLAG_ACTIVITY_NEW_TASK`: 如果在启动服务时没有要运行的任务,则创建新的任务。 5. `START_FLAG_ACTIVITY_SINGLE_TOP`: 如果服务已经在前台运行,则在不重新创建服务的情况下传递最后一个意图。 6. `START_FLAG_ACTIVITY_CLEAR_TOP`: 如果服务已经在前台运行,则在不重新创建服务的情况下传递最后一个意图,并清除该任务之前的所有任务。 7. `START_FLAG_FOREGROUND`: 将服务启动为前台服务,这意味着该服务正在执行某些重要操作,并且用户应该看到该服务正在运行。 8. `START_FLAG_NOT_STOP_WITH_TASK`: 如果服务在后台运行,则不会随着任务的结束而停止服务。 9. `START_FLAG_SHOW_UI`: 如果启动服务需要显示用户界面,则启动服务的Activity。 10. `START_FLAG_EXCLUDE_STOPPED_PACKAGES`: 如果包含一个已停止的应用程序,则不会启动服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值