Android 按主页按钮保存数据
我正在制作计算用户收入和结果的应用程序。最近我发现,若用户按了计算器上的home(主页)按钮(我使用的是基本计算器,由安卓操作),那个么他/她并没有保存的所有数据都将被删除。我如何通知用户,以便他们保存所有未保存的数据?我想在这种情况下显示对话框,但我不知道如何检测主控按钮按下。可能有人也有这个问题,可以帮我吗Android 按主页按钮保存数据,android,Android,我正在制作计算用户收入和结果的应用程序。最近我发现,若用户按了计算器上的home(主页)按钮(我使用的是基本计算器,由安卓操作),那个么他/她并没有保存的所有数据都将被删除。我如何通知用户,以便他们保存所有未保存的数据?我想在这种情况下显示对话框,但我不知道如何检测主控按钮按下。可能有人也有这个问题,可以帮我吗 谢谢。按下主页按钮,活动将调用onPause()方法。您可以重写此方法来编写操作。也可以使用 public void onSaveInstanceState(Bundle outStat
谢谢。按下主页按钮,活动将调用
onPause()
方法。您可以重写此方法来编写操作。也可以使用
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
要恢复您的值。按主页按钮时,活动将调用
onPause()
方法。您可以重写此方法来编写操作。也可以使用
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
恢复您的值。您可以按如下方式覆盖onKeyDown
public boolean onKeyDown( int keyCode, KeyEvent event) {
if (keyCode == KeyEvent .KEYCODE_HOME) {
//Dialog here to notify user
return true ;
}else{
return super .onKeyDown(keyCode, event );
}
}
您可以按如下方式覆盖onKeyDown
public boolean onKeyDown( int keyCode, KeyEvent event) {
if (keyCode == KeyEvent .KEYCODE_HOME) {
//Dialog here to notify user
return true ;
}else{
return super .onKeyDown(keyCode, event );
}
}
试试这个
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//YOUR CODE
}
});
试试这个
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//YOUR CODE
}
});
谢谢你,但我已经尝试过这种方法,只有当我在应用程序中而不是在calculator@Steve等等,你想从Android计算器应用程序保存数据吗?不是你的应用程序吗?@da-jin-c我想做的是:如果用户从y应用程序启动的计算器应用程序中按下home按钮,则显示对话框。虽然从技术上讲,当用户从计算器应用程序中按下home按钮时显示对话框是可能的,但我认为这不会达到你认为的效果。如果我理解正确,您想让他们在计算器中保存数据吗?如果他们使用的计算器应用程序没有这个功能怎么办?@da-jin-c很抱歉这么晚才回复。不,在我的对话框中,用户将看到这样的内容:是否要保存您今天所做的所有操作?(在我的应用程序中,而不是在计算器中)谢谢您,但我尝试了此方法,仅当我在应用程序中而不是在计算机中时,此方法才有效calculator@Steve等等,你想从Android计算器应用程序保存数据吗?不是你的应用程序吗?@da-jin-c我想做的是:如果用户从y应用程序启动的计算器应用程序中按下home按钮,则显示对话框。虽然从技术上讲,当用户从计算器应用程序中按下home按钮时显示对话框是可能的,但我认为这不会达到你认为的效果。如果我理解正确,您想让他们在计算器中保存数据吗?如果他们使用的计算器应用程序没有这个功能怎么办?@da-jin-c很抱歉这么晚才回复。不,在我的对话框中,用户将看到类似这样的内容:是否要保存今天所做的所有操作?(在我的应用程序中,而不是在计算器中)