首页 > 其他分享 >关于intent之android.intent.action.USER_PRESENT的接收与使用

关于intent之android.intent.action.USER_PRESENT的接收与使用

时间:2023-09-12 14:35:23浏览次数:31  
标签:解锁 intent USER action android PRESENT


在做解锁监听程序时,一开始采用监听屏幕SCREEN_ON和SCREEN_OFF这两个action。


但奇怪的是,这两个action只能通过代码动态的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。


百度后发现这是PowerManager那边在发这个广播的时候做了限制,限制只能有register到代码中的receiver才能接收。



AndroidManifest.xml同时能反映用户解锁行为的广播.于是找到 android.intent.action.USER_PRESENT.


每个用户隔一段时间重新开始使用手机时,首先按电源键 点亮 屏幕,紧接着解锁。 android.intent.action.USER_PRESENT就是 解锁时发出的intent.


于是,监听android.intent.action.USER_PRESENT就能识别用户进入home界面,进而启动想启动的相关服务,包括弹出对话框welcome用户\后台启动程序升级服务等等。



AndroidManifest.xml文件中注册代码


<receiver android:name=".ActionReceiver">

   <intent-filter android:priority="90000">

   <action android:name="android.intent.action.USER_PRESENT" />

   </intent-filter>

</receiver>


这个intent的说明文档是:


public static final String ACTION_USER_PRESENT



Since: API Level 3



Broadcast Action: Sent when the user is present after device wakes up (e.g when the keyguard is gone).



This is a protected intent that can only be sent by the system.



Constant Value: "android.intent.action.USER_PRESENT"



翻译过来就是:


注意这个action只能有系统发出,是在用户唤醒机器的时候才会发出这种action.



另外, 真的屏幕解锁的时候触发这个广播,而我们接收这个广播会受好多条件的制约。
比如有些第三方桌面不会真正的锁屏,360,LBE等安全软件对广播的拦截等等.

标签:解锁,intent,USER,action,android,PRESENT
From: https://blog.51cto.com/u_14523369/7445260

相关文章

  • Android之ListView详解
    前文ListView作为Android最常用的控件之一,同时也是最难的控件之一,其难点主要在意用法的多变性,因此让众多的初学者都比较难掌握,包括我自己,也是在反复需要使用时,总会卡住.而在网上找了众多的ListView的实例,案例等,讲解得不尽人意,甚至让许多初学者有迷惑.所以才觉得写此文,将......
  • android 很棒的UI合集 都是git地址很不错的需要makedown配合使用
    MaterialNameLicenseDemoMaterialDesignLibraryApacheLicenseV2DrawerArrowDrawableApacheLicenseV2MaterialTabsApacheLicenseV2PagerSlidingTabStripApacheLicenseV2material-rippleApacheLicenseV2RippleEffectMITLDrawerApacheLicenseV2material-design-icons......
  • Android静默安装实现方案
    之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好。虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所声明的权限展示给用户看,......
  • Android开发中常见的设计模式
    Android开发中常见的设计模式对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次。而在android开发中,必要的了解一些设计模式又是非常有必要的。对于想系统的学习设计模式的同学,这里推荐2本书。一本是HeadFirst系列的HeadH......
  • Android入门教程 | TextView简介(宽高、文字、间距)
    TextView简介文字,是我们传达信息的一种常见方式。在安卓应用上显示文字,我们通常使用TextView。之前我们已经知道如何获取到layout中的TextView,也知道setText()方法可以修改显示的文字。结合我们实际的生活和学习经验,写字的时候,有哪些方面是可以由我们来控制的?文本内容;文字颜色;大......
  • Android初级开发是如何一步步成为高级开发
    前言今年的面试形势不容乐观,竞争愈发激烈,进大厂的难度又增加了。初级程序员的市场价值越来越低,卷死卷活都难找到高薪工作。而相反的高级程序员很多公司一直稀缺,招不到人。这样就形成了两个极端。所以很多人对Android开发现状和前景特别不看好不只是Android,其实做程序这行的,如果不去......
  • Android官方推荐 无需向应用授予的照片选择器工具
    官网链接 https://developer.android.google.cn/training/data-storage/shared/photopicker?hl=en不能跳转链接看这Photopicker照片选择器对话框会显示在您的设备上的媒体文件中。选择一张照片与应用程序分享。图1.照片选择器提供了一个直观的用户界面,用于与您的应用程序分......
  • 基于Android毕业生管理系统的设计与实现-计算机毕业设计源码+LW文档
    一、研究的背景意义高校是培养人才的地方,对智能化发展非常重视,教育部搭建的教育网,专门为教育教学提供帮助。利用教育网的基础搭建各种管理系统,实现校园内信息的有效管理,对教育教学、学生生活、高校宣传等进行综合管理。在毕业生管理中,功能模块的数据通过数据库存储,并为各个模块预......
  • Android程序员掌握这些面试技巧,offer拿到手软
    前言面试的顺利与否,直接决定了你是否能获得心仪的offer以及是否能拿到满意的薪资。如果说,简历是获得面试的通行证的话,那面试无疑是决定你是否能获得这份工作的重中之重。因此为自己的面试认真做个准备还是性价比很高的一件事情。面试前准备的四要素,简历、面经、知己知彼,录音设备。......
  • 安卓Termux搭建web服务器【公网远程手机Android服务器】
    概述Termux是一个Android终端仿真应用程序,用于在Android手机上搭建一个完整的Linux环境,能够实现Linux下的许多基本操作,不需要root权限Termux就可以正常运行。Apache是一个开源网页服务器软件,由于其跨平台和安全性,被广泛使用,是最流行的Web服务器软件之一。我们可以在Android手......