当前位置:  开发笔记 > 编程语言 > 正文

如何在android中单击通知操作时要求用户解锁设备?

如何解决《如何在android中单击通知操作时要求用户解锁设备?》经验,为你挑选了0个好方法。


      我正在显示来自我的应用程序的通知,并且此通知中有一个操作,当用户单击该操作时,将使用我设置的意图调用相应的操作类.现在,我想执行一个特定的操作,但在此之前,用户需要解锁屏幕,如果它是针脚/图案保护.我无法要求用户解锁设备,即在锁定屏幕上打开解锁键盘/图案.
以下是我的代码,

    //HandleAction is a java class that extends IntentService
    Intent intent = new Intent(context, HandleAction.class);
    intent.putExtra(key, "my_value"); //Used to send information to action class
    PendingIntent pi = PendingIntent.getService(context, 0, intent,
                                 PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder notification = new NotificationCompat.Builder(mContext);
    //set the title, icon etc for builder and add action as below
    notification.addAction(icon, "my_label", pi);

当用户点击通知操作时,我将控件发送到MyAction.java中的onHandleIntent.
在这里,我想要求用户在密码保护时解锁设备,然后执行操作.如何在onHandleIntent中请求用户解锁设备?

我发现使用KeyguardManager和KeyguardLock来实现这一点,但是keyguardManager.newKeyguardLock是不推荐使用的方法,我想避免这种情况.所以,下一个是使用"FLAG_TURN_SCREEN_ON"和"FLAG_KEEP_SCREEN_ON",但我无法弄清楚如何在这种情况下使用它们.我没有从我的动作类中启动任何窗口,它只是一个增加我的计数器的操作.点击它后,通知应该消失,执行我的操作就可以了.

我发现了一个类似的问题解锁手机,但它的方式是通过启动虚拟/空活动.

在此先感谢任何帮助,建议:)

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有