假如开发的app有这空薯个需求的话:崩溃后自动重启或者捕获异常信息。你可以参照下文:
package com.tan.abnormalrestart
import java.lang.Thread.UncaughtExceptionHandler
import android.app.Application
import android.content.Intent
public class AppContext extends Application
{
protected static AppContext instance
public void onCreate() {
super.onCreate()
instance = this
Thread.setDefaultUncaughtExceptionHandler(restartHandler)// 程序崩溃时触发线程 以下用来捕获程序崩溃异常
}
// 创建服务用于捕获崩溃塌亏返异常
private UncaughtExceptionHandler restartHandler = new UncaughtExceptionHandler() {
public void uncaughtException(Thread thread, Throwable ex) {
restartApp()//发生崩溃异常时,重启应用
}
}
public void restartApp(){
Intent intent = new Intent(instance,MainActivity.class)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
instance.startActivity(intent)
android.os.Process.killProcess(android.os.Process.myPid()) //结束进程之前可以把你程序的注销或者退出代码放在这段代码之前
}
}
这个团饥是application级别的应用
其实关键还是UncaughtExceptionHandler类
这是安卓自身的特点,和root无关,网上有一款软件autostarts,通过禁用应用程序的触发事件来禁止程序在关闭之后又自启动现象,注意这软件能阻止拆稿山程序后台自启动,不能主动关敬咐闭后台已启动程序,如果你自己启动某个软件后,必须亲自去关闭后台程序,只要你不人为启动,一般程序就不会后台旅中自启动!霸气吧!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)