在密码锁屏中显示Toast

时间:2013-01-21 04:16:00

标签: android toast lockscreen

我想在Android的默认密码锁屏中显示Toast,例如:

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

然而,这个吐司实际上出现在主屏幕而不是锁屏。我认为这个烤面包是由键盘手隐藏的。
我还发现WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED可用于在锁屏顶部显示某些内容。我的障碍是它需要一个活动中的getWindow()来设置这个标志,但是,Android框架中的默认LockScreen没有活动。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这就是我做到的....

在代码中执行以下操作..

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.toast,  null);  // toast is a custom layout for the toast message
Toast t= new Toast(getApplicationContext());
t.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
t.setDuration(Toast.LENGTH_SHORT);
t.setView(layout);
t.show();

我认为这是你想要的答案。