crash发生时,新开一个进程的activity用于显示crash发生的详情
2015-12-06 10:31
453 查看
crashReceiver作为消息中转站,来传递crash信息
因为crash activity的sdk不被bundle依赖,不能直接调用,此时需要feedback bundle中定义一个Broadcast,作为消息中转站,将获得的crash详情信息接收过来,再调用启动crash activity。
需要注意的是:接收crash信息的receiver必须不再主进程中,因为主进程已经挂掉了,会导致这个receiver挂掉,无法正常接收到crash广播。
定义的方法:
crash详情显示
crash activity也不能在主进程中,为了保持初始化进程和实际进程的统一,应将crash activity 和crash receiver定义在同一个进程中,如这里的crash Info。
因为crash activity的sdk不被bundle依赖,不能直接调用,此时需要feedback bundle中定义一个Broadcast,作为消息中转站,将获得的crash详情信息接收过来,再调用启动crash activity。
需要注意的是:接收crash信息的receiver必须不再主进程中,因为主进程已经挂掉了,会导致这个receiver挂掉,无法正常接收到crash广播。
定义的方法:
<receiver android:name="com.tmall.wireless.feedback.receiver.CrashReceiver" android:exported="false" android:process=":crashInfo"> <intent-filter> <action android:name="com.tmall.wireless.feedback.receiver.debugcrash"/> </intent-filter> </receiver>
crash详情显示
crash activity也不能在主进程中,为了保持初始化进程和实际进程的统一,应将crash activity 和crash receiver定义在同一个进程中,如这里的crash Info。
<activity android:name="com.tmall.wireless.screenshotfeedback.CrashInfoActivity" android:exported="false" android:process=":crashInfo" android:theme="@android:style/Theme.Light.NoTitleBar" > <intent-filter> <action android:name="com.tmall.wireless.action.navigator.INTERNAL_NAVIGATION" /> <category android:name="com.tmall.wireless.category.navigator.INTERNAL_NAVIGATION" /> <category android:name="android.intent.category.DEFAULT" /> <data android:host="page.tm" android:path="/crashInfoActivity" android:scheme="tmall" /> </intent-filter> </activity>
相关文章推荐
- 操作系统进程环境
- javaScript基础入门
- 1026. Table Tennis (30)
- Zookeeper工作原理二
- 桂林龙胜游
- c++操作符优先级表格 + 记忆方法整理
- log4j配置说明
- 河床
- UVA230-图书馆管理
- HTML5的 input:file上传类型控制
- 1025. PAT Ranking (25)
- AngularJS进阶(十八)在AngularJS应用中集成科大讯飞语音输入功能
- AngularJS进阶(十八)在AngularJS应用中集成科大讯飞语音输入功能
- 1024. Palindromic Number (25)
- Zookeeper工作原理一
- 【UML】之用例图
- MFC技术积累——基于MFC对话框类的那些事儿5
- js字符串函数
- Python 标准库 —— os 模块
- NOIP2015提高组Day2 子串