比如服务A和B开机都自己启动
然后服务A被系统干掉或者任务管理器干掉时,服务B能检测到A被干掉了,然后启动A
反之亦然,达到互相守护的目的
请问这种思路是可行的吗?
具体怎么实现呢?
然后服务A被系统干掉或者任务管理器干掉时,服务B能检测到A被干掉了,然后启动A
反之亦然,达到互相守护的目的
请问这种思路是可行的吗?
具体怎么实现呢?
解决方案 »
- 如何实现点击状态栏图标后回到activity?
- 双击错误log为什么不能定位?
- 真机如何访问PC服务器?
- 内嵌游览器的选择复制
- 【急】【急】【急】+++++++++++++为什么我总帮别人,没人帮我+++++++++++++谁有关于android 响应灵敏性设计的例子?
- 求教如何调用其他继承Activity 类的方法?
- 如何解决: E/AndroidRuntime:java.lang.NulPointerException
- android bluetooth
- linearlayout 的backgroud设置 自定义的 selector后,它的 divider 消失了!!
- 如果用代码关闭自带的浏览器?
- 出现如下信息:./grxmlcompile: 1: Syntax error: "&" unexpected
- 绘制 移动 图形,,
我只是看到有的软件已经实现了这个功能,想学习这种方法。
可以用receiver 启动后监听系统事件,当发生你需要的事件的时候执行相应的代码
List<RunningAppProcessInfo> list = ActivityManager.getRunningAppProcesses();
你的a,b二个service一直在查看运行的进程信息中是否有相对的,没有就启动。
比如 a在查看时没有了b那么就启动b ...
void getTask() { ActivityManager activityManager;
try
{
activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
arylistTask =new ArrayList<String>();
List<ActivityManager.RunningTaskInfo> mRunningTasks = activityManager.getRunningTasks(30); //30表示获取的最大数 /* 以循环及baseActivity方式取得任务名称与ID */
for (RunningTaskInfo amTask : mRunningTasks)
{
Log.d("TaskInfo", amTask.baseActivity.getClassName()+"("+amTask.id+")");
}
//获取服务
List<RunningServiceInfo> mserviceTasks = activityManager.getRunningServices(30);
/* 以循环方式取得任务名称与ID */
for (RunningServiceInfo serinfo : mserviceTasks)
{
Log.d("TaskServerInfo", serinfo.process+"("+serinfo.pid+")");
}
}
catch (Exception e)
{ }
}尝试获取在线进程和服务列表,来达到自己的目的,做监控
但是在"arylistTask =new ArrayList<String>();"这一行报错:
Description Resource Path Location Type
arylistTask cannot be resolved
这是哪里出了问题?
但是当服务A不在线的时候,怎么启动服务A呢?
但是在一个无界面的service中呢,貌似是行不通的吧
Service{
List<Activity> list=new ArrayList<Activity>();
}
A{
启动service时
Service.list.add(this)
}
public static Activity getActivityByName(String name){ for(Activity ac:allActivity)
{
if(ac.getClass().getName().indexOf(name)>=0)
{
return ac;
}
}
return null;
}
这样 来通过名字比对activity 如果不存在activity 就启动一个