Android开发怎么判断应用或者服务已经启动

1、判断应用已经启动

 

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> list = am.getRunningTasks(100); for (RunningTaskInfo info : list) { if (info.topActivity.getPackageName().equals(MY_PKG_NAME) &&

info.baseActivity.getPackageName().equals(MY_PKG_NAME)) { isAppRunning = true; //find it, break break; } }

    100表示取的最大的任务数,info.topActivity表示当前正在运行的Activity,info.baseActivity表系统后台有此 进程在运行,具体要做如何判断就看自已的业务需求。这个类还有更多的方法可以取得系统运行的服务、内存使用情况等的方法,请各位自行查找。
    有一点要注意,如果想正常运行此方法,请在你的 AndroidManifest.xml 中加入:
 
 

<uses-permission android:name="android.permission.GET_TASKS" />

    否则可能会有exception抛出。
 
2、判断服务已经启动运行
 
 

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningServiceInfo> infos = am.getRunningServices(30); //30是最大值 for(RunningServiceInfo info : infos){ if(info.service.getClassName().equals("Service的全名")){ //... } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值