0

ユーザーが間違ったパスワードを入力するたびに、PasswordUnlockScreen.java の verifyPasswordAndUnlock() でトースト通知を表示しようとしています。次のコードを書き、正常にビルドしました。

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

ただし、Toast は実際にはホーム画面に表示され、ロック画面が一番上にある場合は表示されないため、表示されません。ユーザーが正常にログインしたときに別のトーストが表示され、ロック画面が消えた後にのみトーストがホーム画面に表示されることでこれを確認しました

これは、getContext() がホーム画面のコンテキストを返すためだと思われます。ロック画面のコンテキストを取得するにはどうすればよいですか? PasswordUnlockScreen.this はコンパイルさえせず、mContext と context の両方に getContext() と同じ問題があります。

4

2 に答える 2

0

As has been said already, the problem is probably not with the Context. I guess you are working with the actual PasswordUnlockScreen source, and not subclassing it? If so, you could try using its KeyguardStatusViewManager to display your text:

mStatusViewManager.setInstructionText("Invalid password");
于 2012-09-18T08:47:04.083 に答える
0

すべてのビューにはmContext、コンテキストに初期化されるフィールドがあります。

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