在密码解锁屏幕中显示Toast通知

时间:2012-09-18 07:57:42

标签: android toast

每当用户输入错误的密码时,我都会尝试在PasswordUnlockScreen.java中的verifyPasswordAndUnlock()中显示Toast通知。我编写了以下代码,并成功构建。

 Toast.makeText(getContext(), "Invalid password", Toast.LENGTH_LONG).show();

然而,Toast没有出现,因为它实际上出现在主屏幕上,当锁定屏幕在顶部时,它是不可见的。我通过在用户成功登录时显示另一个Toast来验证这一点,并且在锁定屏幕消失后Toast仅出现在主屏幕中

我怀疑这是因为getContext()返回主屏幕的上下文。我如何获得Lockscreen的上下文? PasswordUnlockScreen.this甚至不编译,mContext和context都有与getContext()相同的问题

2 个答案:

答案 0 :(得分:0)

所有视图都有mContext字段,该字段已初始化为上下文。

Toast.makeText(mContext, "Invalid password", Toast.LENGTH_LONG).show();

答案 1 :(得分:0)

如前所述,问题可能不在于Context。我猜你正在使用实际的PasswordUnlockScreen源,而不是继承它?如果是这样,您可以尝试使用其KeyguardStatusViewManager来显示文字:

mStatusViewManager.setInstructionText("Invalid password");