Android开机启动app导致电源管理无法启动

来源:互联网 发布:金十数据怎么保存桌面 编辑:程序博客网 时间:2024/04/27 20:01

一、问题现象:

      公司app在开机的时候自启,但是屏幕超时后不会灭屏。如果返回主界面后,屏幕就能灭屏。

二、问题分析和问题解决:

     利用usb打印调试log,对比装了app和不装app的区别,不装app会提示“android.intent.action.BOOT_COMPLETED”

     开启WindowManager 里的调试模式可以看到更多的信息:


10-26 11:58:29.360: I/WindowManager(1563): enableScreenIfNeededLocked: mDisplayEnabled=true mForceDisplayEnabled=false mShowingBootMessages=false mSystemBooted=true10-26 11:58:30.570: D/AlertReceiver(2215): onReceive: a=android.intent.action.BOOT_COMPLETED Intent { act=android.intent.action.BOOT_COMPLETED flg=0x8000010 cmp=com.android.calendar/.alerts.AlertReceiver (has extras) }10-26 11:58:30.580: D/AlertService(2215): 0 Action = android.intent.action.BOOT_COMPLETED10-26 11:58:30.905: V/AlarmClock(2235): AlarmInitReceiver android.intent.action.BOOT_COMPLETED10-26 11:58:31.425: I/LauncherIconVisibilityManager(1706): Boot has been completed10-26 11:58:31.475: I/ActivityManager(1563): Start proc com.googlecode.eyesfree.setorientation for broadcast com.googlecode.eyesfree.setorientation/.BootReceiver: pid=2285 uid=10047 gids={50047}

再分析公司app启动的两种方式:1、通过android.intent.action.BOOT_COMPLETED 来让app自启。

<receiver android:name=".StartReceiver">    <intent-filter>
          <!--<action android:name="android.intent.action.BOOT_COMPLETED" />-->
</intent-filter></receiver>

2.通过usb设备接入检测,来达到自动启动的目的。我把BOOT_COMPLETED自启部分代码屏蔽掉,app还是可以自启;那么把usb接入检测屏蔽掉,app应该不会自启了吧

<intent-filter>    <!--<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />--></intent-filter>

果然如此,原来app在系统启动的时候检测到有usb设备接入,就立即启动了app,然后没阻塞了系统BOOT_COMPLETED广播的传播,导致安卓系统一些服务没有正常的启动,电源管理也没启动,最终使得系统无法自动待机。

正常待机的调试信息如下:

10-23 15:51:50.031 1559-1584/system_process I/PowerManagerService: Going to sleep due to screen timeout...10-23 15:51:59.836 1559-1588/system_process I/PowerManagerService: Waking up from sleep...10-23 15:51:59.901 1559-1584/system_process D/DisplayPowerController: Unblocked screen on after 1237564 ms10-23 15:52:00.736 1559-1625/system_process D/PowerManagerService-JNI: Excessive delay in autosuspend_disable() while turning screen on: 889ms


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 实名身份证的微信限额怎么办 工行网银登陆密码忘了怎么办 美亚买的东西坏了怎么办 海带宝转运到香港怎么办 海带宝转运仓库入库错误怎么办 三星s7edge密码忘了怎么办 ie网页被拦截了怎么办 手机打开百度网页弹出广告怎么办 网站策略服务已被禁用怎么办 谷歌浏览器打不开网页怎么办 mac用户名密码忘记了怎么办 苹果7网速太慢怎么办 ps中图片选不中怎么办 加装硬盘不显示怎么办 win10网络无权限访问怎么办 电脑装机时c盘隐藏怎么办 word不允许修改锁定了是怎么办 word文档只读不能编辑怎么办 word无法读取文档时怎么办 ps超出2g存不了怎么办 qq帐号不记得了怎么办 苹果手机wifi密码输错怎么办 qq搜索关键字屏蔽了怎么办 手机数据被屏蔽了怎么办 ea账号安全问题答案忘了怎么办 电脑用户账户密码忘记了怎么办 公司名字审核通过剩下怎么办 抖音一直在审核怎么办 平板电脑显示ipad已停用怎么办 违章车型与实际车型不符怎么办 网购与实物不符怎么办 内网ip地址丢失怎么办 转账户名写错了怎么办 工资卡开户写错公司名称怎么办 商标跟别人重了怎么办 不受信任的应用打不开怎么办 oppo手机安全证书过期怎么办 网站安全证书有问题怎么办 公章圆圈摔坏了怎么办 高风险办税人员怎么办 公司因担保被起诉怎么办