可以去看下activitymanager的源码

解决方案 »

  1.   

    我这个只能在APP层做的,好像ActivityManager没用的
      

  2.   

    监听 包名 反编译 一下 apk 看 manifest。xml 就可以知道他的 启动包名  
    然后 记得 有个 任务管理器的 列子 可以参考 的 找到这个包名 就说明程序 启动了 
      

  3.   

    捣鼓一下activitymanager,可以获取当前在最顶层窗口上的appinfo,之后可以获取关于这个app的所有东西
      

  4.   

    如果你是监听特定程序,只要判断下当前栈中第一个activity的包名是不是要监听那个程序即可市面上的程序锁就是这样做的
      

  5.   

    /**
         * 用来判断服务是否运行.
         * @param context
         * @param className 判断的服务名字:包名+类名
         * @return true 在运行, false 不在运行
         */
          
        public boolean isServiceRunning(Context context,String className) {        
          
            boolean isRunning = false;
          
            ActivityManager activityManager = 
          
                (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); 
          
            List<ActivityManager.RunningServiceInfo> serviceList 
          
            = activityManager.getRunningServices(Integer.MAX_VALUE);
          
            if (!(serviceList.size()>0)) {
          
                return false;
          
            }
          
            for (int i=0; i<serviceList.size(); i++) {
          
                if (serviceList.get(i).service.getClassName().equals(className) == true) {
          
                    isRunning = true;
          
                    break;
          
                }
          
            }
          
            Log.i(TAG,"service is running?=="+isRunning);
          
            return isRunning;
          
        }
          
      

  6.   

    楼主我也想知道这个问题解决没有啊。不想直接写server后台无限制运行。电池吃不消。