I will say that I tried to get into JavaME development and had a few leads (back in 2006 - 2007) but it was such a nightmare to test on many devices and know which would work, that I got out of that business.
When the iPhone came out and set its own terms, I sighed with relief. Yes, its closed and has its issues, but I really like knowing that there are rules and as long as I play nice, I will be able to distribute my app in that platform and it will work perfectly in all devices. I have an iPod Touch running 3.1.3, a 3G, 3GS and iPhone 4 (all bought on launch and kept them as I upgraded) on iOS 4.0 and 4.1, and an iPad on 3.2, where I can quickly deploy and test and be pretty much sure that the application will work across 95% of iOS devices.
We haven't turned our back on Android development, but we tread that soil lightly. I could perhaps have various devices on 1.5, 1.6, 2.0, 2.1 and 2.2 to test, but then even that is not enough as the screens vary, carriers add different enhancements and the hardware is different for each device. Before Android users gang up on me, keep in mind that I am not criticizing it from an user's POV. Rather, as a company doing mobile app development for clients, it is a very risky endeavor to sign a contract that includes Android app development for these reasons stated above. Also, since I am already an iPhone user, having all these devices around for testing is a given - I would have to invest some more to gather various Android devices in addition to the G1 we got two years ago when we were thinking about offering services on both platforms.