Android onClose事件

12
我希望在应用程序关闭时显示一个“感谢使用”的消息。
处理应用程序关闭的事件是什么?

@user1479606 不好意思 - 我收到消息太晚了。 - Billie
请参考以下关于Android活动生命周期的帖子:https://dev59.com/IWoy5IYBdhLWcg3wfeIR - live-love
3个回答

19
假设您的活动是A->B->C->D这样的顺序。当用户从D活动按下后退按钮,然后转到C,然后再从C活动按下返回按钮时,用户将再次返回到B活动,再按下返回按钮,用户将回到A启动器活动。因此,在按下返回按钮时,您可以向用户提供消息。

假设您的活动是A->B->C->D这样的顺序。当用户从D活动按下后退按钮,然后转到C,然后再从C活动按下返回按钮时,用户将再次返回到B活动,再按下返回按钮,用户将回到A启动器活动。因此,在按下返回按钮时,您可以向用户提供消息。

@Override
public void onBackPressed() {
    Toast.makeText(context,"Thanks for using application!!",Toast.LENGTH_LONG).show()l
    finish();
    return;
}   

或者

当你需要从任何活动直接回到主屏幕时,需要按下主屏幕键。

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
}

在重写上述方法之后,现在您可以使用onKeyDown()方法轻松监听活动中的HOME键按下。

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

    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
       Toast.makeText(context,"Thanks for using application!!",Toast.LENGTH_LONG).show();
    }
});

12

您可以在您的主/启动活动上使用onDestroy()onBackPressed()回调函数


2
假设您希望对话框仅在应用程序完全关闭(也从后台中删除)时显示,则可以在第一个活动中覆盖 onDestroy() 方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接