Hi Sourabh,
Our solution ended up being a little convoluted and much of this response is supposition rather than known fact.
The problem was with shibboleth and the time being taken from shibboleth authentication through to returning to the mobile app.
Although moodle was generating the token correctly, the connection seemed to timeout rather than return the token.
What we have ended up doing is creating a second ldap connection and authenticating staff through one ldap directory and students through a different one.
This has allowed us to remove shibboleth completely from Moodle which I suspect might not be an option for you.
This has fixed the problem with the mobile app and removed the need to direct to the web browser and has also fixed a number of other issues we were having with the time taken for an authentication response. e.g. Moodle flagging up that you were already logged in despite it being your first attempt.
I'm more than happy to share our code for a second ldap connection if this is of use to you.
Thanks,
Edd