记录发现结果以备将来参考:
以下是来自的代码
android.support.v4.app.FragmentActivity
@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);}@Overridepublic final void validateRequestPermissionsRequestCode(int requestCode) { // We use 16 bits of the request pre to enpre the fragment id when // requesting permissions from a fragment. Hence, requestPermissions() // should validate the pre against that but we cannot override it as // we can not then call super and also the ActivityCompat would call // back to this override. To handle this we use dependency inversion // where we are the validator of request pres when requesting // permissions in ActivityCompat. if (!mRequestedPermissionsFromFragment && requestCode != -1 && (requestCode & 0xffff0000) != 0) { throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); }}RANGE
startActivityForResult()in
FragmentActivity要求requestCode为16位,这意味着范围是
0到65535 。
另外,
validateRequestPermissionsRequestCodein
FragmentActivityrequire
requestCode必须为16位,这意味着范围是 0到65535 。



