1

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

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

但是,这个 toast 实际上出现在主屏幕而不是锁屏中。我认为这个吐司被钥匙卫隐藏了。
我还发现它WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED可以用来在锁屏上显示一些东西。我的障碍是它需要 getWindow() 在活动中设置此标志,但是,Android 框架中的默认 LockScreen 没有活动。我该如何解决这个问题?

4

1 回答 1

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();

我想这就是你想要的答案。

于 2013-01-21T04:50:58.277 回答