【量产_冒烟】不断灭屏画手势出现系统优化界面


【量产_冒烟】不断灭屏画手势出现系统优化界面

【初始条件】

手机正常
【操作步骤】

进入设置-智能控制-开启各个手势唤醒功能,不断灭屏画手势

【实际结果】

会出现系统优化界面

【预期结果】

不应出现系统优化界面


在设置pin密码锁的情况下,照理这时候不能解锁,更不会出现出现系统优化界面。 


分析log,先看到event.log

01-10 16:40:29.033  9213  9554 I am_crash: [9213,0,system_server,-1,java.lang.NullPointerException,Attempt to invoke virtual method 'java.lang.String android.content.Intent.resolveTypeIfNeeded(android.content.ContentResolver)' on a null object reference,ContextImpl.java,941]
01-10 16:40:29.120   451   451 I sf_frame_dur: [,0,0,0,0,0,0,24]
01-10 16:40:29.120   451   451 I sf_frame_dur: [StatusBar,905,133,32,17,22,18,21]
01-10 16:40:29.121   451   451 I sf_frame_dur: [,0,1,0,0,1,0,0]
01-10 16:40:29.121   451   451 I sf_frame_dur: [,10,13,6,10,8,1,4]
01-10 16:40:30.597 14817 14817 I boot_progress_start: 668603
01-10 16:40:30.768 14817 14817 I boot_progress_preload_start: 668774
01-10 16:40:33.062 14817 14817 I boot_progress_preload_end: 671068
01-10 16:40:33.198 15158 15158 I boot_progress_system_run: 671204
01-10 16:40:33.472 15158 15158 I boot_progress_pms_start: 671478
01-10 16:40:34.220 15158 15158 I boot_progress_pms_system_scan_start: 672226


在去mainlog中去找这个时间段log信息,

先是GestureWakeUp服务在461行出现空指针异常

01-10 16:40:28.964  9213  9213 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1238 com.yulong.android.uitechno.service.YLUIWatchService.startComponent:1619 com.yulong.android.uitechno.service.YLUIWatchService$WatchHandler.handleMessage:1590 android.os.Handler.dispatchMessage:102 android.os.Looper.loop:164 
01-10 16:40:29.032  9213  9554 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: GestureWakeUp
01-10 16:40:29.032  9213  9554 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.resolveTypeIfNeeded(android.content.ContentResolver)' on a null object reference
01-10 16:40:29.032  9213  9554 E AndroidRuntime: at android.app.ContextImpl.sendBroadcastAsUser(ContextImpl.java:941)
01-10 16:40:29.032  9213  9554 E AndroidRuntime: at com.android.server.policy.GestureWakeUp$PolicyHandler.handleMessage(GestureWakeUp.java:461)
01-10 16:40:29.032  9213  9554 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
01-10 16:40:29.032  9213  9554 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
01-10 16:40:29.032  9213  9554 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:61)
01-10 16:40:29.104  8885  8885 W AudioFlinger: power manager service died !!!
01-10 16:40:29.104  8885  8885 W AudioFlinger: power manager service died !!!
01-10 16:40:29.104  8885  8885 W AudioFlinger: power manager service died !!!
01-10 16:40:29.104  8885  8885 W AudioFlinger: power manager service died !!!


接下来导致keygurad挂了

01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: Error calling IBatteryStats: 
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: android.os.DeadObjectException
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at android.os.BinderProxy.transactNative(Native Method)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at android.os.BinderProxy.transact(Binder.java:503)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.internal.app.IBatteryStats$Stub$Proxy.computeChargeTimeRemaining(IBatteryStats.java:1206)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.systemui.statusbar.KeyguardIndicationController.computePowerIndication(KeyguardIndicationController.java:170)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.systemui.statusbar.KeyguardIndicationController.computeIndication(KeyguardIndicationController.java:158)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.systemui.statusbar.KeyguardIndicationController.updateIndication(KeyguardIndicationController.java:140)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.systemui.statusbar.KeyguardIndicationController.access$300(KeyguardIndicationController.java:46)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.systemui.statusbar.KeyguardIndicationController$2.handleMessage(KeyguardIndicationController.java:224)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at android.os.Handler.dispatchMessage(Handler.java:102)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at android.os.Looper.loop(Looper.java:164)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at android.app.ActivityThread.main(ActivityThread.java:5613)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at java.lang.reflect.Method.invoke(Native Method)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:752)
01-10 16:40:29.143  9633  9633 E KeyguardIndicationController: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:642)


在system_server挂了

01-10 16:40:29.773  8880  8880 E Zygote  : Exit zygote because system server (9213) has terminated
01-10 16:40:29.991 14823 14823 I Log_level_control: YWW4
01-10 16:40:30.001 14823 14823 E         : Failed to open libdatactrl, some features may not be present.
01-10 16:40:30.114   689   721 E slim_daemon: [NDK] bindNDKSensors: Sensor server is unavailable.
01-10 16:40:30.597 14817 14817 I Log_level_control: YWW4
01-10 16:40:30.621 14817 14817 W art     : 70f30000-71f9d000 rw-p 00000000 103:12 2121733                           /data/dalvik-cache/arm64/system@framework@boot.art
01-10 16:40:30.621 14817 14817 W art     : 557c858000-557c85c000 r-xp 00000000 103:11 417                           /system/bin/app_process64
01-10 16:40:30.621 14817 14817 W art     : 557c86c000-557c86d000 r--p 00004000 103:11 417                           /system/bin/app_process64
01-10 16:40:30.621 14817 14817 W art     : 557c86d000-557c86e000 rw-p 00005000 103:11 417                           /system/bin/app_process64
01-10 16:40:30.621 14817 14817 W art     : 559c1fd000-559c239000 rw-p 00000000 00:00 0                              [heap]
01-10 16:40:30.621 14817 14817 W art     : 7f81c66000-7f840d4000 r--p 00000000 103:11 1575                          /system/framework/arm64/boot.oat
01-10 16:40:30.621 14817 14817 W art     : 7f840d4000-7f86737000 r-xp 0246e000 103:11 1575                          /system/framework/arm64/boot.oat
01-10 16:40:30.621 14817 14817 W art     : 7f86737000-7f86738000 rw-p 04ad1000 103:11 1575                          /system/framework/arm64/boot.oat
01-10 16:40:30.621 14817 14817 W art     : 7f86738000-7f86769000 r--p 0106d000 103:12 2121733                       /data/dalvik-cache/arm64/system@framework@boot.art
01-10 16:40:30.621 14817 14817 W art     : 7f86769000-7f8676a000 r--p 00000000 00:00 0                              [anon:linker_alloc]
01-10 16:40:30.621 14817 14817 W art     : 7f8676a000-7f8676b000 r-xp 00000000 103:11 3112                          /system/lib64/libsigchain.so


去源码中,找到461行,

发现是 

mContext.sendBroadcastAsUser(mGesture.intentB,
                            UserHandle.CURRENT);

然后加上try catch 捕获异常 即可

                    try {
mContext.sendBroadcastAsUser(mGesture.intentB,
                            UserHandle.CURRENT);
               } catch (Exception e) {
                    e.printStackTrace();
Log.d(TAG, "wanlihua debug to  avoid NullPointerException  !");
                   }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值