如何在按下HOME按钮后立即重新启动相同的活动?

时间:2013-05-24 14:20:03

标签: android android-activity android-homebutton

我正在尝试开发一个自定义的“锁定屏幕”。

我面临的主要问题是用户实际上只需按下HOME按钮即可退出“锁定屏幕”活动。

我知道无法阻止或覆盖HOME。我想知道当用户按下HOME时是否有办法重新启动相同的Activity。

我曾尝试从onPause()重新启动活动,事实上Activity重启,但重启需要几秒钟,因此“锁定屏幕”毫无意义。

有没有办法在按下Home后立即重新启动Activity

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,我创建了一个在后台运行的Service。它有一个TimerTask循环,每秒运行一次并检查我的LockScreenActivity是否在前景中。 你可以这样做:

List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(4096); 
    return runningTasks.get(0).topActivity.getClassName();

如果我的锁屏不在前台,我将其启动/再次将其带到前台(在Manifest中将其设为singleTop)。

TronicZomB的答案看起来更复杂。