`
zheyiw
  • 浏览: 1017570 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 崩溃 重启 捕获异常 并重启应用

阅读更多
推荐方法:
public class HKApplication extends Application {
	PendingIntent restartIntent;

	@Override
	public void onCreate() {
		super.onCreate();

		// 以下用来捕获程序崩溃异常
		Intent intent = new Intent();
		// 参数1:包名,参数2:程序入口的activity
		intent.setClassName("com.hk.shop", "com.hk.shop.WelcomeActivity");
		restartIntent = PendingIntent.getActivity(getApplicationContext(), 0,
				intent, Intent.FLAG_ACTIVITY_NEW_TASK);
		Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃时触发线程
	}

	public UncaughtExceptionHandler restartHandler = new UncaughtExceptionHandler() {
		@Override
		public void uncaughtException(Thread thread, Throwable ex) {
			AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
			mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000,
					restartIntent); // 1秒钟后重启应用
			ActivityContrl.finishProgram(); // 自定义方法,关闭当前打开的所有avtivity
		}
	};
}

将 HKApplication 在主配置文件中指定为你应用的入口


这个异常的捕获也可以只写在某个activity中


这个应用重启还是要慎用,一旦发生在首页,应用将不断重启,希望有人能给出好的解决办法。


如果需要 ActivityContrl.finishProgram();
请在本博客中寻找,我记得写了笔记

分享到:
评论
3 楼 lvshandong 2015-02-02  
可以加下你QQ吗,有问题讨论
2 楼 qishaohe 2013-09-23  
我怎么跟你一样的代码怎么就是不行呢?能否告诉一下你的QQ
1 楼 cawn 2012-11-08  
angellcawn mark标记

相关推荐

    android 捕获异常重启APP

    此外,捕获异常重启并不是解决应用崩溃的根本办法,开发者应优先关注代码质量,避免出现异常,以及提供完善的错误处理机制。对于必须处理的异常情况,应尽可能地修复问题,而不是简单地重启应用。 总的来说,...

    Android-AppManager如何优雅的退出应用和处理崩溃异常自动重启

    本篇文章将详细探讨如何使用`AppManager`优雅地退出应用,以及如何处理崩溃异常并实现自动重启,这些都是Android开发者必备的技能。 **优雅退出应用** 1. **避免直接调用`System.exit(0)`**: 这种方法会立即结束...

    Android崩溃后自动重启Demo

    下面我们将深入探讨如何在Android中实现这个功能,并分析给定的"Android崩溃后自动重启Demo"。 首先,我们需要理解Android应用程序的生命周期。在Android中,每个Activity都有自己的生命周期,包括onCreate(), ...

    AndroidCrash全局崩溃异常捕获

    4. **捕获异常信息**: 异常堆栈跟踪是理解错误发生的关键。通过堆栈跟踪,开发者可以看到错误发生的具体位置和调用链,这对于调试和修复bug至关重要。 5. **数据上传服务器**: 为了集中管理异常数据,开发者通常会...

    安卓全局异常捕获-崩溃重启捕获logcat

    本文将详细介绍如何实现安卓全局异常捕获,特别是针对崩溃时的日志记录和应用重启功能。 首先,我们需要理解什么是全局异常捕获。全局异常捕获是指在整个应用生命周期内,设置一个全局的异常处理器,当任何地方出现...

    android捕获全局异常,CrashHandler完整工程源码

    在Android开发中,确保应用程序的稳定性和可靠性是至关重要的。当程序出现未处理的异常时,会导致应用突然崩溃,用户体验严重下降。为了提高应用的质量,开发者通常会采用捕获全局异常的方式来监控和处理这些异常。...

    Android崩溃后重启App

    在Android应用开发中,"Android崩溃后重启App"是一个重要的技术点,主要涉及到错误处理、应用稳定性以及用户体验。当应用程序由于各种原因(如空指针异常、数组越界等)导致崩溃时,开发者通常会采取策略让应用能够...

    android 处理崩溃异常并重启程序

    总之,处理Android应用的崩溃异常并实现自动重启是一项多步骤的任务,包括设置全局异常处理器、记录和报告异常、以及决定何时和如何重启应用。通过合理的异常处理策略,开发者可以提高应用的稳定性和用户满意度。

    捕获异常自动重启

    在Android应用开发中,"捕获异常自动重启"是一个重要的机制,它确保应用程序即使遇到未预期的错误或异常也能恢复运行,从而提供更好的用户体验。这个功能通常通过在应用程序的全局异常处理器中实现,以捕获那些可能...

    Android全局捕获崩溃异常记录日志保存至本地并定时删除

    我们创建一个新的类,如`MyCrashHandler`,继承自`Thread.UncaughtExceptionHandler`,并在其中重写`uncaughtException`方法,该方法会在程序发生未捕获异常时被调用。 ```java public class MyCrashHandler ...

    android非捕获异常处理

    Android系统默认的行为是,当一个非捕获异常发生时,它会立即终止当前线程并显示一个“应用已停止运行”的错误对话框。为避免这种情况,开发者可以自定义全局的非捕获异常处理器,以更优雅的方式处理这些异常,同时...

    android全局异常捕获 exception_global

    在Android开发中,全局异常捕获是一个至关重要的实践,它能确保应用在遇到未预期的错误时仍能保持稳定,并提供良好的用户体验。标题"android全局异常捕获 exception_global"和描述都指向了这个主题,表明我们将探讨...

    Android全局异常捕获

    当程序出现异常时,如果不进行妥善处理,可能会导致应用崩溃,影响用户对软件的信任度。因此,实现Android全局异常捕获是一个必要的技术手段,它可以帮助开发者捕获并处理运行时出现的任何异常,避免程序无故终止,...

    android demo,异常捕获或自动重启app的源代码实现。

    在这个demo中,可能会有一个全局的异常监听器,例如在`Application`类中设置,这样可以捕获到整个应用生命周期内的所有未捕获异常。例如: ```java public class MyApplication extends Application { @Override ...

    Android崩溃异常捕获方法

    在Android开发中,崩溃异常捕获是确保应用稳定性和用户体验的关键环节。当应用程序遇到未预期的错误或异常情况时,如果没有适当的处理机制,会导致应用突然关闭,用户界面返回到桌面,这无疑会极大地影响用户对应用...

    安卓日志分析崩溃拦截相关-Android捕获全局异常源码.rar

    这个压缩包“Android捕获全局异常源码”可能包含了以上提到的一些实现,你可以尝试解压并研究其中的代码,学习如何在Android应用中有效地捕获异常和分析日志。注意,由于作者提到部分代码可能不可用,所以在实际使用...

    捕获异常、存sd卡、自定义封装json、传log日志到服务器、app崩溃友好重启

    "捕获异常、存sd卡、自定义封装json、传log日志到服务器、app崩溃友好重启"这个主题涵盖了这些关键点,下面将逐一详细讲解。 1. **捕获异常**: 在Android中,通过使用`try-catch`语句块可以捕获和处理运行时异常...

    异常捕获或自动重启app

    当应用程序发生崩溃时,能够及时捕获并记录异常信息对于调试和优化至关重要。同时,有些情况下,开发者可能希望在应用崩溃后能自动重启,以提供无缝的用户体验。本示例将探讨如何在Android应用中实现异常捕获以及...

    android 异常崩溃demo

    为了更好地监控和处理应用中的异常,开发者可以实现自定义的Crash Handler,它是一个全局的未捕获异常处理器(UncaughtExceptionHandler)。默认情况下,Android系统会捕获所有未被捕获的异常并结束应用。通过重写`...

    android 异常10s后重启

    当应用程序或系统服务发生未捕获的异常时,系统会记录一个错误日志(通常可以在`Logcat`中查看),并尝试恢复。如果错误无法处理,设备可能会选择重启以避免进一步损坏。10秒的延迟可能是系统设定的重启间隔,用于...

Global site tag (gtag.js) - Google Analytics