2 iwso920 IWSo920 于 2014.04.14 17:28 提问

Android程序添加一个服务,如果程序遇到异常退出,则服务重启程序

在程序中添加一个服务,这个服务的功能包括:
1、在主程序启动时启动服务。
2、在主程序退出时退出服务
3、在主程序异常退出时负责重启主程序
4、当服务异常退出时主程序负责重启服务。

希望大家提供思路

1个回答

echojiangyq
echojiangyq   2014.04.26 00:33

1.2,两点建立一对Activity(主程序)和Service,Activity创建时开启服务,Activity退出时关闭服务。
3.4,将主程序和服务放在两个进程中,分别开线程检测对方进程是否存在,如果不存在(排除正常退出的情况,比如正常退出或者Back键等)即为异常退出,此时用am开启即可。
另外,如果两个都异常退出了呢, 呵呵,可以考虑提高服务优先级,在崩溃或者被系统杀死后,会自己再开起来。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Linux-- 简单的程序守护脚本,程序异常退出后自动重启
#!/bin/sh while true do ps -ef | grep "test(程序名)" | grep -v "grep" if ["$?" -eq 0] then ./test echo "wath process has been restarted! " else echo "watch process already started ! "
linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)
#!/bin/sh while true do ps | grep "my_app" | grep -v "grep" > /dev/null #第一二个命令输出my_app的运行情况,第二个命令去掉带有grep的条目,然后把结果重定向到null里面不要回显 if [ "$?" -eq 1 ] # 1 : 表示有   ; 0 :表示没有 then ./my_app &
android应用程序遇到程序关闭后重启的问题
程序退出的情况: 1、程序异常退出,需要程序重启 2、程序退出,在没有异常报出,或第三库问题引起   1、程序异常退出,需要程序重启   第一步:一个类继承UncaughtExceptionHandler,并将错误信息保存到sd卡   public class MyExceptionHandler implements java.lang.Thread.UncaughtExcept
编写第一个Android程序遇到异常退出
公司准备上Android的项目了。边学边用。 今天写一个简单的联系程序,短信的应用。当点击按钮的时候,准备转到另一个页面时候就跳出异常“sorry the application has stopped unexpectedly.please try again”   原来是
android背景音乐服务的程序
实现的android中media player播放音乐
android 处理崩溃异常并重启程序
android 处理崩溃异常并重启程序
Android 在一个程序中启动另一个程序和启动另一个程序的服务
文章部分转载自:http://blog.csdn.net/wike163/article/details/6635032 Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用。 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent inte
Android处理应用崩溃异常并重启应用
Android处理应用崩溃异常并重启应用 实现的功能: 在程序出现异常导致崩溃时,能够拦截异常,将崩溃日志保存在本地或者上传至服务器保存,同时可以重启应用。 直接上代码: 继承Application的类CatchExcep:package com.mytest; import java.util.ArrayList; import android.app.Activity;
nodejs程序保证服务出现任何异常都不崩溃的方法
process.on('uncaughtException', fn) 可以捕获到任何未捕获的异常 保证服务正常运作 process.on('uncaughtException', function (err) { log(err); }); http.createServer(function(req, res){ try { mvcHandler(req, res)
linux将程序添加到服务
===========================   方式 1   =================================== #如果通过yum安装的服务,直接敲入下面的命令就可以了开机时自动启动服务了 chkconfig --level 234 httpd on ===========================   方式 2编写自己的