0

我正在与一个 salesforce android sdk 集成,它具有类 nativemainactivty,它扩展了活动类。

为了将salesforce集成到应用程序中,我们需要有一个扩展nativemainactivity的类。我实现了它,以便当我按下手机时,它会将用户带出应用程序。但是,我想导航到上一个屏幕。为了导航,我用下面的代码覆盖了 onBackpressed,但我没有成功。如果有人知道,您能指导我实现这一目标吗?

@override
public void onBackPressed(){
  super.onBackPressed() 
  sop("back pressed!!");
}
4

4 回答 4

0

在您的代码中,您缺少分号:

  super.onBackPressed();
于 2013-06-12T15:37:46.350 回答
0

你的问题不是分号。

调用 super.onBackPressed() 是调用返回按钮的默认行为(即退出应用程序)的方法,这不是你想要的!

尽管 android 中有许多回调需要调用超类方法才能正常运行,但这不是其中之一

如果您从代码中删除“super.onBackPressed()”并仅使用您希望后退键具有的新功能填充方法主体,那么它将起作用:

@override
public void onBackPressed(){
  sop("back pressed!!");
  //or whatever else you want it to do
}
于 2013-06-12T17:23:00.010 回答
0

我把事情搞定了。

唯一要做的就是

删除 moveTaskToBack(true);

在 salesforce sdk 的 LoginActivity 中。

于 2013-06-13T02:32:24.383 回答
0

我对 salesforce SDK 一无所知,但我会尽力提供帮助。在他们的 nativemainactivity 中,他们可能已经覆盖了 onKeyDown() 方法。此方法调用 onBackPressed()。他们可能会捕捉到后退按钮的键码,而不会调用 Activity 类的超级方法。

尝试覆盖以下方法:

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // do something
    }

    return super.onKeyDown(keyCode, event);
}
于 2013-06-12T15:12:23.943 回答