说我在一个孩子活动的onCreate方法中造成致命异常,我能否捕获这个异常?或者将会崩溃,无论我尝试什么?
这是我的意思的一个例子:
Main.java
@OverrIDeprotected 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
@OverrIDeprotected 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 – 从父活动中的子活动捕获异常全部内容,希望文章能够帮你解决android – 从父活动中的子活动捕获异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)