0

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

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

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

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

4

2 回答 2

0

所有视图都具有mContext初始化为上下文的字段。

Toast.makeText(mContext, "Invalid password", Toast.LENGTH_LONG).show();
于 2012-09-18T08:05:18.890 回答
0

正如已经说过的,问题可能不在于上下文。我猜您正在使用实际的 PasswordUnlockScreen 源,而不是对其进行子类化?如果是这样,您可以尝试使用它KeyguardStatusViewManager来显示您的文本:

mStatusViewManager.setInstructionText("Invalid password");
于 2012-09-18T08:47:04.083 回答