【发布时间】:2012-08-22 10:51:42
【问题描述】:
我试图阻止在 Android 中按下后退按钮时关闭 AlertDialog 框。我遵循了两种流行的方法in this thread,并且使用 System.out.println 我可以看到在这两种情况下代码都会执行。但是,返回按钮仍然关闭对话框。
我可能做错了什么?最终,我试图阻止后退按钮关闭对话框 - 这是第一次运行应用程序时显示的免责声明,我不希望用户有任何选择,只能按下“接受”按钮命令应用程序继续运行。
【问题讨论】:
-
如果您要求用户接受许可或免责声明(或其他),那么您必须允许他们拒绝。如果他们单击
BACK按钮,请确保您的许可/免责声明对话框在他们下次启动应用程序时再次出现,并一次又一次地出现,直到他们接受或从设备中删除该应用程序。如果您选择使用 Sam 建议的方法,那么您必须提供一个“拒绝”按钮,然后在他们下次启动应用程序时重新创建许可/免责声明。 -
我会删除一个让我“接受”作为唯一选项的应用程序......而且甚至不要考虑禁用主页按钮!
-
应用程序可以通过按主页按钮关闭,但如果许可证不被接受,应用程序基本上无法通过免责声明。 @Squonk,你提到我必须允许他们拒绝;这是一个法律问题吗?即是否有法律规定软件必须在不接受许可协议的情况下才能使用(如果已付费)?注意我已经有一个“拒绝”按钮,按下它会弹出一个 Toast() 说您必须接受协议才能使用该应用程序。因此,对话框会一直存在,直到按下接受。
-
@CaptainProg :我不是律师,但我怀疑在某些国家/地区这可能被视为法律问题。如果他们拒绝/拒绝免责声明,我并不是建议您允许人们使用您的应用程序。我要说的是,这是糟糕的政策、糟糕的客户关系(即使应用程序是免费的),而且用户体验无法锁定某人。只需让“拒绝”选项关闭应用程序,下次用户尝试启动它,呈现相同的对话框。不要只是弹出
Toast,将它们锁定并依靠它们使用HOME按钮退出。