锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / 安卓开源社区 / startActivityForResult闪退、startActivityForResult崩溃
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究


startActivityForResult闪退、startActivityForResult崩溃

背景

客户说点一个编辑框导致崩溃,我看了下编辑框的布局事件没问题啊,TextWatcher的beforeTextChanged和onTextChanged里面都没代码,怎么会崩溃呢?用虚拟机试着也没问题,但是用手机确实不行,这奇怪问题,定性也不好定性。

分析过程

在华为手机安卓系统下,认真看APP的运行,突然发现编辑框的线很短,手点的时候会不会误触旁边的按钮,然后就手机上试了下,确实会让这个Activity界面退出,再在虚拟机上看这个按钮,也会Activity界面退出。

下面就追查这个按钮的事件,里面代码如下:

Intent intent = new Intent(AudioRecorderActivity.this, RecordSetActivity.class);
intent.putExtra("fontsize", sfontsize);
startActivityForResult(intent, 1);

对照上个界面的启动代码,也是类似啊,Intent构造参数1是旧环境,参数2是新Activity类,上个界面的启动能过啊,为什么这个不行?

网上搜索了下,看了些Intent的其它用法,不过和我这问题也不挂边,一时无奈中。

解决办法

回家吃过饭,突然想到我上个总结Activity闪退文档里的一部分内容里说到,Activity要在AndroidManifest.xml里注册,觉得这个可能有关系,就添加了注册行:

<activity android:name=".RecordSetActivity"></activity>            

再试问题解决。

总结

这次问题一波三折,问题表面是编辑框,其实是按钮,按钮启动不了Activity,也不是启动代码的问题,是没注册的问题。

这个问题的根源还在于项目架构的变动,因为我原来是2个项目,主项目和lib项目,把lib项目去掉全部加到主项目时,对代码细节没照顾到。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内