3

我想知道当用户按下主页按钮时如何退出应用程序。

据我所知,Home Button 在后台移动正在运行的应用程序并将 Launcher 进程放在前面。

我知道我可以使用 finish() 但我不知道应该在哪里调用它,因为我不知道当用户按下 Home 键时哪个函数会被调用。

谢谢。

4

2 回答 2

3

根据您想要做什么,覆盖onUserLeaveHint可能是最好的选择:

http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint ()

这将使您的应用知道您的应用正在退出,因为用户选择了切换应用(例如通过点击主页按钮或选择通知)。如果来电(或类似的)导致您的应用程序进入后台,则不会调用此提示功能,因为用户没有启动该操作。

于 2011-04-30T15:50:51.530 回答
1

就我而言,

我在应用程序中有很多活动,所以如果我使用“onUserLeaveHint”、“onStop”或......

它只是捕捉活动转换。

所以我把每个活动的代码放在下面。最后捕捉用户的主页按钮动作。

首先,你有单例对象

public class ActivityContext {
    public static Context context = null;
}

以及每一项活动,

@Override
protected void onStop(){  //onStop runs after New one's onResume
    super.onStop();
    if(ActivityContext.context==context) { //user home button out
        AppStartEnd.sendAppEndData(context);
    }
}
@Override
protected void onResume(){  
    super.onResume();
    ActivityContext.context = YourActivity.this;
}

我希望这能帮到您

于 2014-07-03T12:45:20.503 回答