今天项目报了一个这样的bug
java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
原因是原因是RequestCode不能为负值,也不能大于16位bit值65536,
这是判断RequestCode的源码
@Override public void startActivityForResult(Intent intent, int requestCode) { if (requestCode != -1 && (requestCode&0xffff0000) != 0) { throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); } super.startActivityForResult(intent, requestCode); }我们代码里写的是RequestCode==90000;所以就报bug了。希望大家引以为戒。