Tim Jowers wrote: > Is there an API to determine the phone's version of Android? For now, > I'm using try-catch. Sucky but works.
android.os.Build.VERSION.SDK. Or, if you're only worrying about 1.6 and newer, use SDK_INT instead of SDK. > Also, my 2.0 built APK does not run on my G1 phone. Maybe it's > something I've done but I haven't dug into it. Maybe that's what you > meant by "intelligent" class loading.... do you mean Class.forName() > or Class.loadClass() or whatever its called instead of import > blahblh;? Well, you'll need to look at your stack trace. You can get that from adb logcat, DDMS, or the DDMS perspective in Eclipse. IIRC, using a class that references 2.0 APIs in a 1.5/1.6 environment will give you a VerifyError. Using Class.forName() is one technique to create an application that can use ContactsContract. Or, do something like this: abstract class ContactsAdapterBridge { abstract ListAdapter buildNameAdapter(Activity a); abstract ListAdapter buildPhonesAdapter(Activity a); abstract ListAdapter buildEmailAdapter(Activity a); public static final ContactsAdapterBridge INSTANCE=buildBridge(); private static ContactsAdapterBridge buildBridge() { int sdk=new Integer(Build.VERSION.SDK).intValue(); if (sdk<5) { return(new OldContactsAdapterBridge()); } return(new NewContactsAdapterBridge()); } } This is a fragment of a sample that I'll be uploading to github tomorrow sometime (I hope). NewContactsAdapterBridge uses ContactsContract; OldContactsAdapterBridge uses Contacts. So long as you don't try *loading* a class that uses 2.0 APIs, you won't get a VerifyError. The 2.0-referencing class can still be in the APK, though. -- Mark Murphy (a Commons Guy) http://commonsware.com | http://twitter.com/commonsguy Android Training in US: 11-15 January 2010: http://onlc.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en