我正在尝试开发一个自定义的“锁屏”。
我面临的主要问题是用户实际上总是可以通过按下 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 的答案看起来更复杂。