I'm having problems with my application on Droid phones. I am unable to reproduce the problems in the emulator. A co-worker of mine with a Droid also has no issues running my app. Any help you can provide would be much appreciated.
My application is called Dialify. It's open source; you can find the code here: http://code.google.com/p/dialify/source/browse/#svn/trunk/Dialify/src/org/hyperbard/dialify My app queries the contacts DB to display a list of contacts. The user can select contacts to turn them into notifications that can be dialed/ texted. Droid users reported 2 problems: 1) Contacts not appearing 2) App force-closes when they begin to scroll through the contacts list My app creates a cursor over the contacts DB to display contacts. I realized problem #1 was due to using the API level 5 method of access which only shows contacts for the master account. I fixed this, but the force-close issue remains. Unfortunately, I am unable to replicate a force-close in the emulator. I thought maybe it was the number of contacts and created about 200 of them, to no avail. It's been happening to users who use Exchange and users who do not, so I haven't tried getting Exchange contacts into the Emulator. This is how my deployed app retrieves contacts today: http://code.google.com/p/dialify/source/browse/trunk/Dialify/src/org/hyperbard/dialify/ContactsHelper.java?spec=svn4&r=4 Here are some of the changes I made for API level 6 compatibility: //"Phone" is android.provider.ContactsContract.CommonDataKinds.Phone private static final String[] PROJECTION = new String[] { ContactsContract.Data._ID, //0 Phone.DISPLAY_NAME, //1 Phone.TYPE, //2 Phone.LABEL, //3 Phone.NUMBER, //4 Phone.CONTACT_ID //5 }; private static final String SORT_PHONES_ASC = "upper(" + Phone.DISPLAY_NAME + ")," + Phone.TYPE + "," + "upper(" + Phone.LABEL + ")"; //"Data" is android.provider.ContactsContract.Data String selection = Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'"; //here's the query itself: return _context.getContentResolver().query( ContactsContract.Data.CONTENT_URI, PROJECTION, selection, selectionArgs, //will be null in this case sort.getSort() //will be SORT_PHONES_ASC, above ); //to display the contact I turn it into an internal type (Contact) //_contactTypes comes from resources.getStringArray (android.R.array.phoneTypes) public Contact getContactAtCursor(Cursor cursor) { int typeId = cursor.getInt(2); String type = (typeId == Phone.TYPE_CUSTOM) ? cursor.getString(3) : _contactTypes[typeId - 1]; return new Contact( cursor.getLong(0), //id cursor.getLong(5), //contact ID cursor.getString(1), //display name cursor.getString(4), //number type ); } I realize I can bring up a contact selector using an Intent, but I don't think that will work for me. My app has a custom view of contacts, and it always displays the contacts list. Any guidance, suggestions, feedback or help would be most welcome. I'm not sure how to proceed with this issue. Regards, Eric -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

