So Android doesn't allow you to interact with Bluetooth. The functionality exists, however developers can't access it... or can they?
There are many apps on the Android Market that toggle Bluetooth. So if Google doesn't give developers the ability how do they do it? The answer is an advanced Java concept called Reflection (http://java.sun.com/docs/books/tutorial/reflect/).
The idea is that even if you don't know what object you are using, you can find out information about it and then use that information to call methods that you otherwise shouldn't know about it.
The way this works is that Google is doing something strange.
In order access most services on Android you call the Context.getSystemService() method passing in a string signifying the service you want to access. You won't find this information in the API but if you pass the string, "bluetooth" you are returned an object whose class isn't in the standard API. This is the Bluetooth Manager. However the class is generic, it's of type Object.
But now you can use Reflection to find it's methods.
Object manager = getSystemService("bluetooth");
Class c = manager.getClass();
Method enable = c.getMethod("enable");
... and then you've enabled Bluetooth.
Instead of "enable" you can put the name of any other method of the Bluetooth Manager class. You can get a list of all the methods by calling getMethods().
It's not an efficient way to program, it definitely doesn't produce nice and clear code. But it's a very valuable tool to know.