我想知道当用户按下主页按钮时如何退出应用程序。
据我所知,Home Button会在后台移动正在运行的应用程序并将Launcher进程放在前面。
我知道我可以使用finish(),但我不知道应该在哪里调用它,因为当用户按下Home键时我不知道哪个函数会接到电话。
感谢。
答案 0 :(得分:3)
根据您的目标,覆盖onUserLeaveHint
可能是最好的选择:
http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()
这会让您的应用知道您的应用已退出,因为用户选择切换应用(例如,点按“主页”按钮或选择通知)。如果来电(或类似)导致您的应用程序转到后台,则此提示功能将不,因为用户未启动该操作。
答案 1 :(得分: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;
}
我希望这会对你有所帮助