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

一、问题现象:

      公司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=true
10-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_COMPLETED
10-26 11:58:30.905: V/AlarmClock(2235): AlarmInitReceiver android.intent.action.BOOT_COMPLETED
10-26 11:58:31.425: I/LauncherIconVisibilityManager(1706): Boot has been completed
10-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 ms
10-23 15:52:00.736 1559-1625/system_process D/PowerManagerService-JNI: Excessive delay in autosuspend_disable() while turning screen on: 889ms


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值