I just struggled for a few hours with a similar-sounding problem. In my case, I'm running on Marshmallow and I wasn't explicitly requesting the ACCESS_COARSE_LOCATION permission. (https://developer.android.com/training/permissions/requesting.html) I had the permissions in my manifest, but on 6.0+ that's not enough, and the startDiscovery() call fails silently (or works, but with a guarantee there won't be any results).
If adding the permissions doesn't help your app, including some output from adb log here might help others help you more.