开机广播事件无法接收以及替代方案

在android中,谷歌工程师为了加固android系统,使其更安全,限制了开机广播的发送顺序。系统启动->系统应用启动->发送开机广播->普通app启动。由此一来,普通的app是接收不到开机广播的,据网上的答案说是要把app移动到system目录下。。可是太繁琐了(反正我不会弄)。。。于是我苦苦的寻找解决方案。我发现可以用SCREEN_ON或者SCREEN_OFF来代替。但是还有一个问题,SCREEN的广播不能静态注册。。这让我很纳闷。。据说是谷歌工程师为了优化系统才这么做的。。静态注册的话无法实现我的需求(详情请搜索静态注册和动态注册的异同),于是还得继续找替代方案。于是我发现了解锁事件。就是说,在android下,用户点亮屏幕后必须要进行解锁才可以进入到主屏幕,而且,这个广播可以静态注册。这样就好办了。

屏幕解锁事件是由android.intent.action.USER_PRESENT发出的。。。由此,也算大体满足的了我的需求了吧~。可能还有其他解决方案,希望一起讨论。

时间: 2024-10-10 05:35:40

开机广播事件无法接收以及替代方案的相关文章

解决android3.0版本以上应用接收不到开机广播问题

现在是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(其实是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问题,本身做的一个应用,能够监听开机广播的.但很奇怪,在android3.0以下的版本 你怎么跑都没问题.但是在android3.0以上的版本就恐怕情况不一样了.你会发现往往很多时候接收不到开机广播.这是为什么呢?嘿 不告诉你! 说笑的 其实这方面百度很多人给出为什么了.我在这就不多废话了,今天我们要说

解决android3.0版本号以上应用接收不到开机广播问题

如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问题,本身做的一个应用,可以监听开机广播的.但非常奇怪,在android3.0下面的版本号 你怎么跑都没问题.可是在android3.0以上的版本号就恐怕情况不一样了.你会发现往往非常多时候接收不到开机广播.这是为什么呢?嘿 不告诉你! 说笑的 事实上这方面百度非常多人给出为什么了.我在这就不多废话了

Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务

情景概要:自己做的一个项目的时候,或得不到开启启动的通知,这样更别说开机启动通知里面实现开机服务功能了,查找了N多资料,说法不一,太多的人说4.0之后无法获得开机通知,通过各种渠道,各种大牛的方式仍然是那些N多人说不可行的方法,即使大牛给的是英文文档也是说这样可以的. 最后发现,开启启动通知已经实现了,但是自己的疏忽没有发现,我通过在通知里面弹出一个Toast,但是真机或者模拟器在开机的时候都需要很多启动项,导致最后的Toast弹出很晚,而自己却没看见.你可以在通知里面弹出10个以上的Toast

开机广播接收问题

收不到开机广播的问题,总结几点需要检查的地方吧: 1.系统权限,需要添加android:sharedUserId="android.uid.system" 2.依然是权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 3.receive的action不能少<action android:name="android.intent.acti

ndroid如何监听开机广播和关机广播

需求描述:有些时候,我们需要我们的程序在开机后能自动运行,在系统即将关闭时,能写入一些记录到指定的文件里. 一.开机广播监听: Android系统启动完成后会发出启动完成广播(android.intent.action.BOOT_COMPLETED),所有注册了接收启动完成广播的接收器(BroadcastReceiver)都会收到此广播. 1.在AndroidManifest.xml文件里添加授予应用程序访问系统开机事件的权限 <uses-permission android:name="

[蓝牙] 2、蓝牙BLE协议及架构浅析&amp;&amp;基于广播超时待机说广播事件

第一章 BLE基本概念了解 一.蓝牙4.0和BLE区别 蓝牙4.0是一种应用非常广泛.基于2.4G射频的低功耗无线通讯技术.蓝牙低功耗(Bluetooth Low Energy ),人们又常称之为BlueTooth Smart,是由SIG( the Bluetooth Special Interest Group) 在2010年6月起草,在原有标准的蓝牙4.0核心协议上添加的一种低功耗技术. 蓝牙低功耗不等同于蓝牙4.0,只是蓝牙4.0的一个分支.蓝牙4.0是蓝牙3.0+ HS(高速蓝牙)规范的

Andoird 监听开机广播和关机广播

需求:有时候,我们需要自己的程序在开机后自动运行;在关机时,记录一些信息到文件中. 一.开机广播监听Android系统启动完成后会自动发出启动完成广播(android.intent.action.BOOT_COMPLETED),所有注册了接收启动完成广播的接收器(BroadcastReceiver)都会收到此广播. ①编写一个继承BroadcastReceiver的类,接受系统启动完成广播. 1 package com.example.systemtest; 2 3 import android

自定义广播发送、接收

//发送自定义广播 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 发送广播事件 (消息) * @param view */ public void click(V

【Netty】UDP广播事件

一.前言 前面学习了WebSocket协议,并且通过示例讲解了WebSocket的具体使用,接着学习如何使用无连接的UDP来广播事件. 二.UDP广播事件 2.1 UDP基础 面向连接的TCP协议管理端到端的连接,在连接生命周期中,发送的消息会有序并且可靠地进行传输,最后连接有序地终止.然而,在无连接协议(如UDP)中,没有持久连接的概念,每个消息(UDP数据报)都是独立的传输,此外,UDP没有TCP的纠错机制(即每个对等体会确认其接收到的分组,并且发送者会重传未确认的分组). UDP的限制比T