android – 从父活动中的子活动捕获异常

我一直在想,是否可以通过捕获父活动中的崩溃来停止 Android应用中的崩溃.

说我在一个孩子活动的onCreate方法中造成致命异常,我能否捕获这个异常?或者将会崩溃,无论我尝试什么?

这是我的意思的一个例子:

Main.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ly_main);
    // My Main activity starts
    try{
        // Call the next activity
        Intent intent = new Intent(getApplicationContext(),Child.class);
        startActivity(intent);
    }catch(Exception e){
        Log.wtf("Exception_WTF","Exception from child activity woohoo \n "+ e.toString());
    }

Child.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ly_child);
    // Create exception... for science
    int a = 0;
    a = 1/a;
}

这不行.孩子活动死亡,并带着父母.

是否可以通过startActivityForResult做到这一点?

谢谢,

编辑:我不需要崩溃数据,我只想知道如何避免应用程序崩溃.

环顾四周我发现:
Using Global Exception Handling on android

其中包括这一部分:

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread paramThread,Throwable paramThrowable) {
            Log.e("Alert","Lets See if it Works !!!");
        }
    });

让我记录uncaughtException,避免“崩溃”,但是,应用程序进入黑屏并停止响应…

编辑2:
经过很多阅读(感谢user370305)的线程How do I obtain crash-data from my Android application?

我已经到了一个死胡同,无论是处理uncaughtException,并调用defaultUEH.uncaughtException(paramThread,paramThrowable);所以应用程序崩溃,或者我不会调用defaultUEH.uncaughtException,应用程序不会崩溃,但不会响应…
有任何想法吗?

final Thread.UncaughtExceptionHandler defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread paramThread,Throwable paramThrowable) {
        Log.e("Alert","Lets See if it Works !!!");
        defaultUEH.uncaughtException(paramThread,paramThrowable);
    });

解决方法

自从 their own lifecycle以来,必须独立管理Android中的活动.因此,在生成它们的活动中捕获异常.

如果您的活动需要交互以返回到之前的用户活动,则完成捕获异常(子)的活动,并让具有结果知识的先前活动(父级).请参阅Starting Activities and Getting Results作为相互传达父母和儿童活动的方法.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...