在使用第三方zxing扫描时,部分手机(好像都是4.4及以下版本的手机)扫描后不调用onActivityResult()返回结果。

调试发现zxing的扫描界面CaptureActivity 在注册时使用了singleTask方式,去掉就可以了。

如果还有其他的原因产生的话可以参考一下解决方式:

1.你的Activity被finish()掉了,看看你的Activity有没有在哪里finish()掉。 
2.startActivityForResult(intent, -1)函数,第二个参数小于0,应该要大于0 
3.启动模式为Android:launchMode=”singleTask”和android:launchMode=”singleInstance”都会导致无效,修改为默认的android:launchMode=”standard” 
4.TabHost的子Activity中startActivityForResult调用其他Activity时候遭遇到onActivityResult方法不响应的问题.直接看下面的链接 
http://www.cnblogs.com/relinson/archive/2012/03/25/startActivityForResult.html 
5.Fragment里面调用startActivityForResult的时候,参考下面链接 
http://blog.csdn.net/xiaoyuan511/article/details/38870939

参考:http://blog.csdn.net/csm_qz/article/details/47972367

05-25 13:30