当前位置: 首页 > news >正文

Android7.1 ANR error 弹窗处理

Android7.1 ANR error 弹窗处理

  • 问题描述
  • 解决方法

郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的
转载请标明出处:攻城狮2015

Platform: Rockchip
OS:Android 7.1.2
Kernel: 3.10

问题描述

有时会用到第三方apk,内置到系统中,如第三方主界面,然后开机的时候,莫名其妙弹出一个对话框,需要点击确认按键,再次打开,就正常了。根据Logcat信息,是ANR ERROR,又没有别的按键,只有点击ok。这个时候,没有apk源码,只能在系统中模拟点击事件,快速的处理这个问题

解决方法

思路:
ANR自动确认frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java中重载onCreate()方法,构建时发布一个关闭事件,然后再mHandler的关闭事件中关闭对话框,即在FORCE_CLOSE中添加AppNotRespondingDialog.this.dismiss();
在这里插入图片描述

直接上patch

+++ b/frameworks/base/services/core/java/com/android/server/am/AppNotRespondingDialog.java
@@ -119,6 +119,8 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnCliwait.setOnClickListener(this);findViewById(com.android.internal.R.id.customPanel).setVisibility(View.VISIBLE);
+               
+        mHandler.obtainMessage(FORCE_CLOSE,this).sendToTarget();}
@@ -149,6 +151,7 @@ final class AppNotRespondingDialog extends BaseErrorDialog implements View.OnClicase FORCE_CLOSE:// Kill the application.mService.killAppAtUsersRequest(mProc, AppNotRespondingDialog.this);
+                    AppNotRespondingDialog.this.dismiss();break;

郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的
转载请标明出处:攻城狮2015
有需要可以加VX
在这里插入图片描述

相关文章:

  • 全局Ceph节点宕机处理
  • PDFPlumber解析PDF文本报错:AssertionError: (‘Unhandled’, 6)
  • SpringBoot基础入门
  • fastgpt本地详细部署以及配置
  • Spring boot 集成netty实现websocket通信
  • Android 二维码相关(一)
  • 微信小程序修改placeholder样式
  • Java必须掌握的B树知识点(含面试大厂题含源码)
  • PyTorch搭建LeNet训练集详细实现
  • C语言:内存函数
  • 向ChatGPT高效提问模板
  • DAY by DAY 史上最全的Linux常用命令汇总----命令格式
  • 微信小程序返回上一页刷新组件数据
  • NVMFS5A160PLZT1G汽车级功率MOSFET P沟道60 V 15A 满足AEC-Q101标准
  • 【Logback】Logback 中的 Appenders
  • .pyc 想到的一些问题
  • 【Amaple教程】5. 插件
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Android单元测试 - 几个重要问题
  • Bytom交易说明(账户管理模式)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Javascript基础之Array数组API
  • Joomla 2.x, 3.x useful code cheatsheet
  • magento2项目上线注意事项
  • oldjun 检测网站的经验
  • Tornado学习笔记(1)
  • Yii源码解读-服务定位器(Service Locator)
  • 安装python包到指定虚拟环境
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 三分钟教你同步 Visual Studio Code 设置
  • 一个项目push到多个远程Git仓库
  • 转载:[译] 内容加速黑科技趣谈
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #《AI中文版》V3 第 1 章 概述
  • #微信小程序:微信小程序常见的配置传值
  • (1)STL算法之遍历容器
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (day 12)JavaScript学习笔记(数组3)
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (一)基于IDEA的JAVA基础10
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)程序员疫苗:代码注入
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ../depcomp: line 571: exec: g++: not found
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Remoting学习笔记(三)信道
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net7 环境安装配置
  • .netcore如何运行环境安装到Linux服务器
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)