如果应用程序包含一些默认意图,是否可以唯一地监听主页按钮?我已经检查了生命周期方法,但它将在我启动默认意图和主页按钮时执行。
发布于 2010-12-06 18:26:55
acticity可以有多个意图过滤器。因此,在清单中添加另一个意图过滤器,像这样监听主页按钮。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>试试这个,让我知道
发布于 2011-02-15 22:50:54
当用户按下主页按钮并恢复操作时,我需要执行dbsycing - Sudeep SR Dec 6 '10 at 12:45
听起来您想要重写activity的onStop或onStart方法。除了home按钮之外,还有其他一些东西会导致应用程序退出(发送到后台)。back按钮、camera按钮、来电,在下拉通知栏中选择一个项目。我不认为你想要仅仅依赖于主页按钮的出口情况。下面是在这些情况下值得参考的活动生命周期链接:http://developer.android.com/guide/topics/fundamentals.html#actlife
发布于 2011-09-18 23:05:37
您可以使用全局静态布尔标志来执行此操作,该标志将告诉您退出活动是否是有意的。您需要在任何“结束”过程中设置该标志。(退出程序/按back键)。下面是一个示例:
/**
* Home Event
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
StaticClass.exitFlag = true;
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void onUserLeaveHint() { // not executed when answering a call
if (StaticClass.exitFlag)
StaticClass.exitFlag = false;
else
// Home was pressed!!!
super.onUserLeaveHint();
}
/**
* End Home Event
*/通过这种方式,您可以控制何时以及如何退出活动。只有两种方法可以让活动在你不知情的情况下消失,那就是接听电话或按下主页。此示例删除了使用onUserLeaveHint()事件应答呼叫的选项!
祝好运!
https://stackoverflow.com/questions/4365312
复制相似问题