我正在尝试开发一个自定义的“锁屏”。
我面临的主要问题是用户实际上总是可以通过按下 HOME 按钮退出我的“锁定屏幕”活动。
我知道不可能阻止或覆盖 HOME。我想知道当用户按下 HOME 时是否有办法重新启动同一个 Activity。
我试图从 重新启动活动onPause(),实际上活动重新启动,但需要几秒钟才能重新启动,因此“锁定屏幕”毫无意义。
有什么方法可以在按下 Home 后立即重新启动 Activity?
我正在尝试开发一个自定义的“锁屏”。
我面临的主要问题是用户实际上总是可以通过按下 HOME 按钮退出我的“锁定屏幕”活动。
我知道不可能阻止或覆盖 HOME。我想知道当用户按下 HOME 时是否有办法重新启动同一个 Activity。
我试图从 重新启动活动onPause(),实际上活动重新启动,但需要几秒钟才能重新启动,因此“锁定屏幕”毫无意义。
有什么方法可以在按下 Home 后立即重新启动 Activity?
我曾经遇到过同样的问题,我创建了一个Service在后台运行的。它有一个TimerTask每秒运行一次的循环,并检查我LockScreenActivity的是否在前台。你可以这样做:
List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(4096);
return runningTasks.get(0).topActivity.getClassName();
如果我的锁屏不在前台,我将其启动/再次带到前台(在清单中将其设为 singleTop)。
TronicZomB 的答案看起来更复杂。