Android Can only use lower 16 bits for requestCode

来源:互联网 发布:淘宝电动车价格便宜 编辑:程序博客网 时间:2024/06/08 11:45

今天项目报了一个这样的bug  

 java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode

原因是原因是RequestCode不能为负值,也不能大于16位bit值65536,

这是判断RequestCode的源码

@Overridepublic 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了。希望大家引以为戒。

1 0
原创粉丝点击