Use your Bluetooth headset to activate Google Now rather than the barebones and finicky default voice dialer on your phone.
Unlike other apps, this requires no configuration of the app itself.
It does not keep your phone awake except when it is being used, and it starts a fresh instance of Google Now each time it is launched.
BT GNow requests permission to unlock your phone so that you can use your Bluetooth headset when your phone is locked.
Note that Bluetooth headsets are variable, and this app may not work with every one. Also, you need a data connection to use Google Now (unlike the default Voice Dialer).
Not all Android versions support the default configuration of the app (which opens Google Now automatically when you press the hands-free button). If you find that the app is not working for you out of the box, open BT GNow directly from your launcher, and change the one available setting. The two setting options are
1. Launch Google Now immediately after pressing your hands-free button (default), or
2. Say "OK Google" after pressing the hands-free button. (You will have to say "OK Google" to launch Google Now after pressing the hands-free button.) Note that if you choose this option, you have to make sure that "OK Google" detection is set to work "From any screen": Google Now > Settings > Voice > 'OK Google' Detection > From any screen (checked or set to "on").
1. You must have Google Now (Google App) installed on your phone.
2. Google Now must be set to listen for input from your headset: Google Now > Settings > Voice > Bluetooth headset (checked or set to "on"). Alternatively, Google Settings (from your app drawer) > Search & Now > Voice > Bluetooth headset (checked or set to "on").
3. Press the hands-free button on your headset. BT GNow will either activate Google Now by default, or you may be given a choice of apps to open. If you are given a choice, choose BT GNow and select the option to use it always. You must do this once with your screen UNLOCKED before attempting to use the app with your screen locked (otherwise, your phone won't know to run the app, which performs the screen unlocking).
It is possible that you will have to disable the native Voice Dialer: Settings > Apps > Swipe over to All > Voice Dialer > Disable
This app is not in any way affiliated with or authorized by Google.