Shubh Shubh - 2 months ago 72
Android Question

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

I am writing an application where

Activity A
launches
Activity B
using

startActivityForResult(intent, -101);


but when called, it responded back with following error log:

E/AndroidRuntime( 1708): java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
E/AndroidRuntime( 1708): at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:837)


Probably it could be -101 but I am not sure. Does any one have any idea on this?

Answer

You need to pass a positive number to startActivityForResult.