【问题标题】:Lock activity on the screen锁定屏幕上的活动
【发布时间】:2012-09-02 14:21:59
【问题描述】:
我有一个关于 Android 活动的问题。
如何锁定屏幕上的当前活动并阻止任何导航/开始新活动?
我有一个应用程序,基于 WebSocket 通信系统。在新事务开始时,我需要等待获得任何通信结果(成功或错误),然后才能运行新活动或转到以前的活动。
但是如何实现呢?我需要通用方法,该方法将能够拦截标准键的任何导航尝试和用户代码的任何导航尝试。
谢谢。
【问题讨论】:
标签:
android
android-activity
【解决方案1】:
实际上,我认为这是不可能的。
当然,您可以覆盖 Activity 的 onBackPressed 方法,这样用户将无法返回。您还可以设置 FullScreenMode 以向用户隐藏状态栏。
但是,这很难拦截 Home 键。它是由 Android 设计的,因此用户将始终能够访问主屏幕。
所以一般来说,我建议使用 ProgressDialog reference here ,您甚至可以使用 setCancelable(false) 来防止它被 "Back" 但 "Home" 忽略仍会最小化您的应用并返回主屏幕。