None of the usual answers seemed to fix our problem on Android. We tried the accepted answer here and a few javascript hacks as well:
Bootstrap Collapsed Menu Links Not Working on Mobile Devices
and
http://alittlecode.com/fix-twitter-bootstraps-dropdown-menus-in-touch-screens/
Ultimately we discovered where the close was occurring and conditionally called clearMenus()
only if the links parent or grand parent did not have dropdown-submenu
class
$(document)
.on('click.dropdown.data-api', function (e) {
//fix start
var $parent = $(e.target).parent()
var $grandparent = $parent.parent()
if (!$parent.hasClass('dropdown-submenu') && !$grandparent.hasClass('dropdown-submenu')) {
clearMenus()
}
//clearMenus
//end fix
})
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
}(window.jQuery);
Hope that helps!