1

Androidのデフォルトのパスワードロック画面にトーストを表示したいのですが、次のようになります。

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

ただし、このトーストは実際にはロック画面ではなくホーム画面に表示されます。このトーストはキーガードに隠されていると思います。また、ロック画面の上に何かを表示するために使用できること
もわかりました。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 に答える