0

在某些情况下,我的应用程序应该显示块屏幕。此屏幕会弹出所有屏幕,覆盖所有 UI 元素,并且不会对按下返回和主页按钮做出反应,但应该能够输入密码。

你能建议我一种方法吗?

4

3 回答 3

1

你真的不应该那样尝试。用户应该控制自己的手机。如果我想查看我的电子邮件,查看我的通知,切换到另一个应用程序或任何我应该能够做到的事情,只要我可以。

话虽如此:可以通过在您的活动中覆盖此方法来阻止后退按钮(例如,什么都不做)

public void onBackPressed() {
}
于 2012-12-25T16:17:14.170 回答
1

Activity创建具有透明背景的全屏,将您的“输入密码信息”逻辑、 override “主页”“后退按钮”操作放在该Activity中。

但这不是最佳Android做法。

于 2012-12-25T16:20:45.170 回答
0

我将忽略您为什么要这样做的问题,而只关注如何做。如果要在所有其他屏幕上全屏显示 UI,则需要使用系统警报窗口。您将需要权限SYSTEM_ALERT_WINDOW,并将您的窗口类型设置为

WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
于 2012-12-25T18:03:16.853 回答