1) I don't see any problems in using DI. We use it all over the project and in all activities. And it will help you to test classes separately.
2) and 3)
requestCode
is an RPC detail. It's not related to any particular service. You can convert results to what your service needs.