最频繁触发Android接收器()

眼前多少难甘事,自古男儿当自强。这篇文章主要讲述最频繁触发Android接收器?相关的知识,希望能为你提供帮助。
什么是最常触发的android意图操作,我的应用程序可以让BroadcastReceiver监听没有服务运行,以便接收它?
背景
我有一个前台服务,只要用户在手机上,就需要大致运行。当屏幕关闭时我关闭了服务,因此可以实现打盹模式(是的,前台运行服务阻止打盹模式,即使文档没有明确说明)。
尝试重新打开服务时出现问题。 我已经研究过SCREEN_ONUSER_PRESENT,但两者似乎都需要一个正在运行的后台服务才能被接收,否定了我想要实现的目标。
所以我的想法是,我想知道当用户在场时我是否有足够频繁的触发动作而不是SCREEN_ON / USER_PRESENT
答案我发现最好的方法是在"android.intent.action.USER_PRESENT"动作上注册BroadcastReceiver。
为了区分用户在未锁定时将屏幕打开到实际解锁时的情况,请使用KeyguardManager检查安全设置。
【最频繁触发Android接收器()】在活动中添加此项

registerReceiver(new PhoneUnlockedReceiver(), new IntentFilter("android.intent.action.USER_PRESENT"));

并使用这个:
public class PhoneUnlockedReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) {KeyguardManager keyguardManager = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE); if (keyguardManager.isKeyguardSecure()) {//do stuff here } } }

快乐的编码!!

    推荐阅读