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
阅读全文
0 0
- Android开机启动app导致电源管理无法启动
- Android 开机启动App
- Android开机启动APP
- Android 开机启动app
- android开机app自启动
- android开机自启动app
- Android App开机自动启动
- android APP开机自动启动
- android开机自启动app
- Android开机自动启动APP
- Android开机启动APP广播
- Android 开机自动启动App
- android 故障 开机无法启动
- Ubuntu14.04下开机进入initramfs导致无法启动
- android开机自动启动Service或app
- Android 实现开机自启动app
- Android launcher 初体验--app开机启动
- Android开机自启动App(附带源码)
- 在做dubbo spring 遇到总是注入提供者接口错误
- Redis4cluster Python支持模块。Geo命令测试
- AndroidStudio安装配置教程
- week_7_ Longest Palindromic Substring
- (转)Spark Streaming与Storm的对比分析
- Android开机启动app导致电源管理无法启动
- 【.Net码农】C# Linq及Lamda表达式应用经验之 GroupBy 分组
- mac 安装node canvas 问题解决
- 正则表达式从入门到精通(提高篇)
- 深度学习caffe平台--制作自己.lmdb格式数据集及分类标签文件
- css颜色
- 599. Minimum Index Sum of Two Lists(map)
- Java作业-研究生教师工资(接口)
- JSON数据解析(一)——原生方法