[Sprint HTC EVO 4G LTE] mswlogo:
This is the only way I can find to get RELIABLE Bluetooth Voice Dialing back on Jelly Bean.

You might think it works sometimes because it searches Call History, Favorites etc. and sometimes those work. But in general it's busted. Some folks on Nexus devices say 4.2.1 fixes it. I did try Gapps from 4.2 and it did not fix it. Who knows if we'll ever see an official 4.2.1

This is the bug filed on Google http://code.google.com/p/android/issues/detail?id=35199

I have tried EVA/AVX, Cyberon Voice Command, and Dragon Mobile Assistent. All great apps.

EVA would only work once per boot. First time works, 2nd time click BT Headset and it Prompts on Handset. Reboot fixes it for 1 Click of BT Headset.

AVX (same issue as EVA)

Dragon did not use Bluetooth Mic.

Cyberon Would not stay as the default application across reboots (annoying if you forget and phone is in your pocket).

Google Search cannot find contacts correctly over bluetooth.

Since Cyberon was the closest to working this is a Hack to make it work perfectly.

The bug is really in Cyberon but this gets around the bug by only having only ONE application that responds to the Bluetooth Button Click (indirectly it is forced to be the default).

The change to Velvet.Apk is very simple. All I did was delete these lines from AndroidManifest.XML

<activity android:theme="@style/Theme.HandsFree" android:name="com.google.android.voicesearch.handsfree.HandsFreeActivity" android:taskAffinity="com.google.android.voicesearch.handsfree" android:excludeFromRecents="true" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize">

<intent-filter>

<action android:name="android.intent.action.VOICE_COMMAND" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

Attached below is the Stock Google Search that came with the OTA (Velvet.Apk) with it's Bluetooth Capabilities Disbabled. It just won't show up as a choice any longer when you click the bluetooth button. But it will continue to still show up when you hit the search button on the HandSet or Click the Mic in Google NAV.

To install, just Uninstall Google Search. Depending on your ROM you might need to use Titanium Backup to Uninstall it.

After that just install this tweaked Velvet.Apk.

You MUST buy Cyberon Voice Command ($6.00), there is no trial. Don't bother running this unless you plan to buy Cyberon Voice Command, that is all this hack is for.

Cyberon Voice Command works quite good. No Network needed and has confirmation.

You could Disable Google Search altogether and that makes Cyberon work too (again by being the only app that answers to bluetooth button). But Google Search works fine on the Handset and is very useful for Voice activated Navigation. So you don't want to completely lose Google Search.

So this is the best all worlds IMHO.

This does not allow Cyberon to be Default on the Handset. You'd need another AndroidManifest.XML edit for that.

Again this is ONLY for folks that want Bluetooth Voice Dialing over headset using purchased Cyberon Voice Command.

This does not apply to most Cars Bluetooth Audio. The Car does its own voice regonition.

I did not try Cyberon Voice Dialer ($3.00) that requires teaching, YUCK.

I'm not 100% sure how this will behave as far as Google Updates go. You might have to uninstall for update. It is signed but with a different signature.

I explained what I did in case I disappear and get a different phone :)

If I keep the phone and Google Search is not fixed I'll probably keep this updated or a better solution is found.

Developers are free to use this as they wish.