【发布时间】:2026-02-24 13:15:01
【问题描述】:
我有一个启动新活动的 android 应用程序
Intent startAuthorization = new Intent(AndroidActivity, AuthorizeUser.class);
startActivityForResult(startAuthorization,4711);
当新活动完成时(单击确定按钮)我调用
setResult(RESULT_OK, returnResult);
finish();
效果很好。如果用户没有单击确定按钮,而是使用手机的返回按钮(此箭头指向左侧),应用程序将强制关闭。我在我的方法 onActivityResult 的第一行设置了一个断点,但调试器永远不会停在那里。我不知道问题出在哪里 - 我怎样才能找到?有没有我必须重写的方法来处理这个后退按钮?
【问题讨论】:
-
能否粘贴应用程序崩溃时的 logcat 输出?应该有一个 Java 异常,向我们展示有关您的应用强制关闭的原因的更多详细信息。
-
覆盖后退按钮行为的方法称为onBackPressed()。我的怀疑是你以前的活动被破坏了,当你按下时,堆栈上没有那个活动,而是一个导致崩溃的空指针。不过,一些日志会有所帮助。这是在developer.android.com/reference/android/app/… 的 onBackPressed() 的官方描述