按下后退按钮,我希望我的应用程序进入停止状态,而不是被破坏状态.
在Android 文档中,它指出:
...当按下BACK时,并非所有活动都具有被销毁的行为.当用户开始在音乐应用程序中播放音乐然后按BACK时,应用程序将覆盖正常的后退行为,防止播放器活动被破坏,并继续播放音乐,即使其活动不再可见
如何在我自己的应用程序中复制此功能?
我认为必须有三种可能性......
捕获后退按钮(如下所示),然后调用主页按钮调用的任何方法.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
Log.d(this.getClass().getName(), "back button pressed");
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)按下后退按钮,然后按下主页按钮.
捕获后退按钮,然后启动主屏幕的活动,有效地将我的应用程序的活动置于停止状态.
编辑: 我知道服务,并在与此问题相关的应用程序中使用一个.这个问题具体是关于按下后退按钮将Activity置于停止状态而不是销毁状态.
当在电话上按下BACK按钮时,我想阻止特定活动返回到之前的活动.
具体来说,我有登录和注册屏幕,都会HomeScreen在成功登录/注册时启动一个新活动.启动HomeScreen后,我想通过按BACK键阻止用户返回登录或注册屏幕.
我尝试过使用Intent.FLAG_ACTIVITY_NO_HISTORY,但由于应用程序有Facebook集成,当使用"使用Facebook登录"时,Facebook应该返回初始登录屏幕,因此我应该保留这些活动的历史记录.
HomeScreen当按下按钮并且我使用时,我想到覆盖BACK按钮的行为以直接完成应用程序
@Override
public void onBackPressed() {
finish();
}
Run Code Online (Sandbox Code Playgroud)
但这也行不通.
你如何明确地检测用户是否按下了浏览器中的后退按钮?
如何使用#URL系统在单页Web应用程序中强制使用页内后退按钮?
为什么地球上没有浏览器按钮触发他们自己的事件!?
这个问题的标题解释了我的问题.如何使用PHP将页面访问者重定向回上一页header( "Location: URL of previous page" );
我已将视图推到导航控制器上,当我按下后退按钮时,它会自动转到上一个视图.我想在按下后退按钮之前做一些事情,然后再将视图弹出堆栈.哪个是后退按钮回调功能?
我正在开发一个应用程序,当按下按钮时,它会打开一个带有确定和取消按钮的对话框.
它工作正常.
当用户按下后退按钮时,我按如下方式处理
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
但是没有调用上面的方法.我怎么处理这个?
在普通的文本编辑器中[对Vim充分尊重]有一个快捷方式Ctrl+ Z当你做了一些讨厌的东西并希望返回到以前版本的文本时.喜欢Word中的BACK按钮.我想知道你怎么能在Vim中实现这种行为.
我想在Android中按下后退按钮时阻止关闭AlertDialog框.我已经遵循了这个线程中的两个流行方法,并且使用System.out.println,我可以看到在两种情况下代码都会执行.但是,后退按钮仍然会关闭对话框.
我能做错什么?最终我试图阻止后退按钮关闭一个对话框 - 它是一个免责声明,在第一次运行应用程序时显示,我不希望用户有任何选项,但按下"接受"按钮该应用程序的订单继续.