求助:为什么Android应用异常后会自动重启

求助:为什么Android应用异常后会自动重启,第1张

是在开发app时设置的相关功能,参考代码

假如开发的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,通过禁用应用程序的触发事件来禁止程序在关闭之后又自启动现象,注意这软件能阻止拆稿山程序后台自启动,不能主动关敬咐闭后台已启动程序,如果你自己启动某个软件后,必须亲自去关闭后台程序,只要你不人为启动,一般程序就不会后台旅中自启动!霸气吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12347148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存