我想赶上当用户已经按下主页按钮。我以为我可以使用Android - 如何捕捉主页按钮被按下?
protected void onResume()
{
registerReceiver(homeReceiver, new IntentFilter(Intent.CATEGORY_HOME));
}
...
private BroadcastReceiver homeReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
// logic here
}
};
但这似乎并不奏效。我知道onPause会被调用,但是我的特定应用程序有一些我需要单独处理的逻辑。短故事基于一些信息进入,应用程序将向用户显示新活动。为了防止后退按钮问题,当每个活动命中它的onStop它调用完成本身。但是,如果用户按下主页按钮,我不希望活动调用完成,以便当用户在主屏幕上按下应用程序图标或通过最近运行的应用程序列表时,最后一个活动被取消。
我怀疑我做了这个复杂得多计划。任何建议表示赞赏。
对不起你是什么试图在这里完成?默认情况下,你有你似乎想要的行为。无需劫持后面或家庭按钮。 – schwiz 2010-11-04 21:24:55
更长的故事是活动A启动B,这取决于传入的数据将显示C,D或F. C,D或F的显示可以在新数据进入时更改。我想要“后退”按钮成为退出按钮。如果C,D和F在onStop中没有完成调用,那么按下Back可以循环返回前一个显示。由于我目前无法分辨何时按下主页按钮,因此当前显示的活动会触及其onStop并调用完成。但是,当用户按下图标返回应用时,Android不会回到我们离开的位置。 – bursk 2010-11-04 21:54:27
你尝试过使用startActivityForResult吗? – schwiz 2010-11-04 22:32:57