首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在密码尝试失败后在锁屏上显示Toast

如何在密码尝试失败后在锁屏上显示Toast
EN

Stack Overflow用户
提问于 2017-03-21 11:51:25
回答 2查看 990关注 0票数 0

在用户输入错误密码3次后,我尝试在锁定屏幕上显示Toast。我能够通过日志控制台验证用户已经失败了3次,但希望在锁定屏幕上显示一些消息,以便用户知道。我在DeviceAdminReceiver中做这件事。我可以举杯庆祝一个成功的密码提交,只是不是一个失败的密码。

代码语言:javascript
运行
复制
import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class AdminReceiver extends DeviceAdminReceiver {

    @Override
    public void onPasswordFailed(Context ctxt, Intent intent) {
        Log.d("LockScreen", "onPasswordFailed");
        DevicePolicyManager mgr = (DevicePolicyManager) ctxt.getSystemService(Context.DEVICE_POLICY_SERVICE);
        int no = mgr.getCurrentFailedPasswordAttempts();
        if (no >= 3) {
            Log.d("LockScreen", "Failed 3 times");
            //Toast does not show
            Toast.makeText(ctxt, R.string.password_failed, Toast.LENGTH_LONG)
                    .show();
        }
    }

    @Override
    public void onPasswordSucceeded(Context ctxt, Intent intent) {
        Toast.makeText(ctxt, R.string.password_success, Toast.LENGTH_LONG)
                .show();
    }
}
EN

Stack Overflow用户

发布于 2017-03-21 13:14:35

问题是,当您显示toast.the锁定屏幕将覆盖吐司。因为它尚未解锁,因此可以通过以下方法解决

message.

  • Create为透明活动时,
  1. 会发送通知。使用一些自定义视图来显示消息。并在您的活动中添加以下标志。然后启动它并将定时器设置为在3秒内杀死自己。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42918111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档