Android 如何从ApplicationErrorReport类获取崩溃信息?
Android ICS(api 14)引入了带有以下信息的Android 如何从ApplicationErrorReport类获取崩溃信息?,android,crash,android-4.0-ice-cream-sandwich,Android,Crash,Android 4.0 Ice Cream Sandwich,Android ICS(api 14)引入了带有以下信息的ApplicationErrorReport类: CrashInfo BatteryInfo和ANRInfo。从类概述来看,这个类似乎指的是设备上安装的所有应用程序,而不是调试您自己的个人应用程序。 我似乎无法获得该信息(模拟碰撞和anr) 我尝试了以下代码: ApplicationErrorReport appp = new ApplicationErrorReport(); CrashInfo test = appp.crashInf
ApplicationErrorReport
类:
CrashInfo BatteryInfo和ANRInfo。从类概述来看,这个类似乎指的是设备上安装的所有应用程序,而不是调试您自己的个人应用程序。
我似乎无法获得该信息(模拟碰撞和anr)
我尝试了以下代码:
ApplicationErrorReport appp = new ApplicationErrorReport();
CrashInfo test = appp.crashInfo;
Log.i(test.stackTrace);
但我得到的测试是null
如何获取碰撞信息?中的信息显示:
ApplicationErrorReport()创建ApplicationErrorReport的未初始化实例 这意味着错误的“类型”未定义,因此它不是崩溃报告,因此crashinfo为空 编辑: 我看了一眼。您可以通过方法
readFromParcel(in)
实例化CrashInfo部件,其中包中的第一个int
是与ApplicationErrorReport相对应的int。键入\u CRASH
。或者,您可以自己创建CrashInfo对象并将其分配给ApplicationErrorReport,但如果要填充CrashInfo数据,这同样需要一个地块
我试着在使用它的地方寻找代码,但我能找到的唯一东西是(也使用包裹)
case HANDLE_APPLICATION_CRASH_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
IBinder app = data.readStrongBinder();
ApplicationErrorReport.CrashInfo ci = new ApplicationErrorReport.CrashInfo(data);
handleApplicationCrash(app, ci);
reply.writeNoException();
return true;
})