我有一个关于 Android 活动的问题。
如何锁定屏幕上的当前活动并阻止任何导航/开始新活动?
我有一个应用程序,基于 WebSocket 通信系统。在新事务开始时,我需要等待获得任何通信结果(成功或错误),然后我才能运行新活动或转到以前的活动。
但是如何在那里实施呢?我需要通用方法,该方法将能够拦截标准键的任何导航尝试和用户代码的任何导航尝试。
谢谢。
我有一个关于 Android 活动的问题。
如何锁定屏幕上的当前活动并阻止任何导航/开始新活动?
我有一个应用程序,基于 WebSocket 通信系统。在新事务开始时,我需要等待获得任何通信结果(成功或错误),然后我才能运行新活动或转到以前的活动。
但是如何在那里实施呢?我需要通用方法,该方法将能够拦截标准键的任何导航尝试和用户代码的任何导航尝试。
谢谢。
事实上,我认为这是不可能的。当然,您可以覆盖onBackPressed
Activity 的方法,这样用户将无法返回。您还可以设置 FullScreenMode 以对用户隐藏状态栏。但是,这很难拦截 Home 键。它是由 Android 设计的,因此用户将始终能够访问主屏幕。
所以一般来说,我会推荐ProgressDialog
在这里使用参考,你甚至setCancelable(false)
可以防止它被“返回”但是“主页”仍然会最小化你的应用程序并返回主屏幕。