监听开机广播的替代解决方案
来源:互联网 发布:求数组最大值和最小值 编辑:程序博客网 时间:2024/05/01 12:54
2015年2月27日23:35,我的第一篇技术博客诞生了。
由于android到了4.0之后,在安全的方面有了很大的改善,其中监听开机广播就是一个很大的改善。在没有界面的情况下,设置任何权限都没有办法来捕获开机的广播。就算应用有了activity界面,在没有启动过,也是没有办法来监控开机广播。 还有其他各种卫士、手机管家软件的阻挠,想要捕获开机广播已经非常非常的困难了。
那么需要在app中自启动,只能找一些替代的方法了。我们可以监控其他的一些广播,例如:屏幕解锁广播、屏幕点亮广播等。。。
下面是监听屏幕解锁广播:
<!-- 锁屏事件 --> <receiver android:name=".broadcast.LockScreenReceiver"> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver>
当我们在LockScreenReceiver这个广播监听类的onReceive的方法中启动你需要启动的Service。 前提是你要判断下Service是否已经启动过,如果启动过就不需要再启动,没有启动过则启动Service。这样做的好处是还可以防止Service被一些牛虻软件给傻掉。
判断Service是否启动如下:
public static boolean isServiceRunning(Context mContext,String className) { boolean isRunning = false;ActivityManager activityManager = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(30); if (!(serviceList.size()>0)) { return false; } for (int i=0; i<serviceList.size(); i++) { if (serviceList.get(i).service.getClassName().equals(className) == true) { isRunning = true; break; } } return isRunning; }
0 0
- 监听开机广播的替代解决方案
- 监听开机and 网络状态的广播
- Android 监听开机广播
- Android开机、关机广播监听
- Andoird 监听开机广播和关机广播
- Andoird 监听开机广播和关机广播
- 关于Android4.X后监听开机广播的一些记录
- 监听开机,电量变化,信号变化的广播
- 监听网络的广播接收者接收两次解决方案
- android广播 监听开机 监听电池电量 监听网络
- 监听系统开机广播并启动Activity
- Android开机和关机广播监听
- 为什么监听不到开机广播action.BOOT_COMPLETED
- Android如何监听开机广播和关机广播
- Android如何监听开机广播和关机广播
- Android如何监听开机广播和关机广播
- Android如何监听开机广播和关机广播
- 开机广播的注册
- 一个人的地老天荒
- 存储过程访问其他用户表权限不足问题
- 使用WinDbg —— .NET篇 (一)
- python Debug 、IDE、编辑环境选择
- 微信支付nopermission to execute解决方法
- 监听开机广播的替代解决方案
- 【java编程】Collections工具类之复写reserve方法
- 【转载】Linux系统启动过程分析
- 新建的cocos2d-x中各文件的作用
- JAVA中通过接口实现方法重写
- ExtJS Direct 的Java实现——DJN
- Populating Next Right Pointers in Each Node II
- uva 11177 圆与凸多边形交
- POJ 2116解题报告