应用说明:该应用程序旨在作为特定客户的安全程序(不公开部署)。 当应用程序在一段时间内未检测到移动时,如果应用程序在后台或设备处于睡眠状态,则应发出警报并将其置于前台。

问题:如果设备处于睡眠状态并被锁定,我们需要唤醒并解锁设备。 使用SO和其他地方的各种技术,我们已经能够(部分)唤醒和解锁设备,但是,只有在将设备物理插入计算机中时,这才可以正常工作。 如果设备本身是自行拔出的,并且我们测试了唤醒解锁,则不会发生任何事情。 设备似乎保持睡眠状态,应用程序似乎根本不执行任何操作(无警报)。

我已经使用了有关使用PowerManager和KeyguardManager的文章,以及使用了窗口标志的文章。

这是当前用于唤醒设备的代码:

public void wakeDevice() {

PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);

wakeLock = powerManager.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");

wakeLock.acquire();

KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);

KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");

keyguardLock.disableKeyguard();

runOnUiThread(new Runnable(){

public void run(){

getWindow().addFlags(

WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED

| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON

| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

}

});

}

从我已经看到/使用过的其他一些SO问题的评论和帖子中,似乎PowerManager / KeyguardManager代码似乎可以解决问题。 再次,正如我之前说的,从USB将设备插入开发机器时,它在技术上可以正常工作,但是在设备分开时绝对不起作用。

另请注意,这是我们的第一个Android应用程序,因此请充分意识到我们可能会完全放弃尝试做的事情。 欢迎任何建议。

简而言之,鉴于上述代码,为什么设备会根据是否插入而表现出如此不同,我们应该如何改变以唤醒和解锁设备? 预先感谢您的协助!

android 自动唤醒解锁,Android-唤醒并解锁Devi相关推荐

  1. android 自动 键盘,关于Android中的软键盘

    InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示.当我们点击输入框时,系 ...

  2. android自动更新demo,Android程序自动更新功能模块的实现方法【附完整demo源码下载】...

    本文实例讲述了Android程序自动更新功能模块的实现方法.分享给大家供大家参考,具体如下: 在程序启动的时候检测服务器上有没有对应版本更新,如果有更新,提示用户是否更新. 在程序启动的时候首先调用更 ...

  3. android自动创建快捷方式,Android开发之生成桌面快捷方式细则(原创)

    本文已独家授权 郭霖 ( guolin_blog) 公众号发布! 申明,标题里的快捷方式不是指开发人员使用频率极高的Ctrl+C和Ctrl+V:也不是IDE里Ctrl+D.Ctrl+F等常用快捷键.这 ...

  4. android自动夜间模式,Android实现日夜间模式的深入理解

    在本篇文章中给出了三种实现日间/夜间模式切换的方案,三种方案综合起来可能导致文章的篇幅过长,请耐心阅读. 1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android ...

  5. android自动切换图片,Android应用中图片浏览时实现自动切换功能的方法详解

    先给最终效果图: 当我们在最下边的gallery中切换图片时,上面的大图片会自动切换,切换时有动画效果哦,很简单的一个程序,有待完善更多的功能! activity代码: package cn.com. ...

  6. Android 自动搜索频道,Android自定义收音机搜台控件RadioRulerView

    前言:像这类的自定义控件有非常多的开源项目,但还是没有找到我项目想要的,所以简单实现了一个,下面简单讲讲实现原理. 效果图: 实现思路: 首先画固定背景尺子,而实现这个则要计算刻度线的宽度.刻度线间的 ...

  7. android 自动挂断,android实现接通和挂断电话

    本文实例为大家分享了android实现接通和挂断电话的具体代码,供大家参考,具体内容如下 关键代码:[PhoneUtils类] package com.ebupt.phonerecorddemo.se ...

  8. android自动添加包,android nfc写入应用程序包名与网址 自动打开应用程序与网址...

    安卓手机大部分手机提供了NFC芯片   可以根据NFC传递数据   NFC卡与手机  手机与手机数据等交互  非常好的功能,这篇文章教大家如何向NFC卡或标签写入功能. 用法 :  点击包名   将N ...

  9. android 自动挂断,android 来电自动接听和自动挂断(2.3以上)

    转自http://stephen830.iteye.com/blog/1181786java android 来电自动接听和自动挂断android 注意:android2.3版本不支持下面的自动接听方 ...

  10. android 自动播放 幻灯片,Android自动播放Banner图片轮播效果

    本文实例为大家分享了Android自动播放Banner图片轮播的具体代码,供大家参考,具体内容如下 先看一下效果图 支持本地图片以及网络图片or本地网络混合. 使用方式: android:id=&qu ...

最新文章

  1. linux find 反转 查找没有被找到的结果
  2. 查找 framework 文件中是否包含 WKWebView
  3. js 调用php 导出表格,[拿来主义]使用layui纯JS导出html页面中的table为excel
  4. C语言学习之有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
  5. 《Android 应用案例开发大全(第二版)》——导读
  6. 【JavaScript】Canvas绘图整理
  7. linux 查找某目录下包含关键字内容的文件(文件内容、grep)
  8. 用简单的语言描述C++ 是什么?
  9. 虚拟机控制数据结构 (VMCS)状态转换
  10. mysql raiserror_SQL Server自定义异常的使用raiserror
  11. sql union 和 union all
  12. PHP中stripslashes函数的小结
  13. 百战程序员怎么样?python介绍和了解python是什么
  14. 烽火软件测试的笔试难不难,烽火科技软件测试面试经验
  15. 【NLP】⚠️学不会打我! 半小时学会基本操作 2⚠️ 关键词
  16. 十年一轮回,不再设限
  17. 密码长度最小值修改为15位、16位
  18. 【java多线程学习】多线程的基本概念
  19. 计算机一级第一章试题,计算机一级考试试题第一章模板.doc
  20. linux dmidecode命令,linux下dmidecode命令获取硬件信息

热门文章

  1. 微信分享官方第三方接入(图片及文字)
  2. ubuntu_内网dns服务器搭建
  3. 10月2号陪同学买笔记本的经历
  4. UG基础知识学习视频目录整理(装配篇)
  5. switch开关的async和await初体验
  6. 《矩阵理论》大萌课程笔记 - 特殊矩阵
  7. 数据结构 第七章 图的作作业
  8. 四季养生小技巧你知道吗?
  9. 永中Office(企业版)独树一帜闯世界
  10. Makefile 读书笔记