I have done a bit more research on the possibilities of completing this plugin. Essentially, I would have to move to a lower level in the Android framework (the NDK) in an attempt to either connect to the HID, which isn’t provided at the Java level, or re-implement the L2CAP protocol. I haven’t done enough research yet to determine if this is possible, but it would be a potential avenue for a future incarnation of the project.
Another option would be to create my own controller, likely using an Arduino, Bluetooth, and accelerometers / buttons. The RFCOMM protocol would likely need to be implemented on the Adruino. A 3D printer could be used to create a case for the user to hold.
Either of these approaches would be a project in and of themselves. I suspect creating my own motion controller would have the highest likelihood of success. I am going to save the next incarnation of this project for a summer project.
The source code and documentation for my plugin can be found here: AndroidWiimote
I have become familiar with the Android framework, and the Android way of doing things. This will allow me to get up and running much faster on future Android projects. I previously had no experience in this area. I also learned how to create Android plugins for Unity.
I also learned that when people say something is broken starting with version X, dig until you find what was actually broken. In my investigations of why wiimotes no longer worked with Android 4.2, I had come to the conclusion that they simply changed the way the Bluetooth stack worked, instead of removing functionality altogether.
I also learned that when scoping short projects, I should probably limit them to one technology or aspect that I am unfamiliar with. This would allow the scoping to be more accurate.