2012-05-02 2 views
0

Я работаю с android 1.5 api, я знаю, что он устарел, но его требование клиента. Я использую следующий код, чтобы прочитать адрес «Контакты», но каждый раз, когда он присваивает нулевой адрес. Я не в состоянии выяснить, в чем проблема.Android 1.5 api дает неправильный вывод

private void getAddress(String _Id) 
{ 
    Cursor curAddress=null; 
    try 
    { 
     String addrWhere = Contacts.ContactMethods.PERSON_ID + " = ? AND " + Contacts.ContactMethods.KIND + " = ?"; 
     String[] addrWhereParams = new String[]{_Id, Contacts.ContactMethods.CONTENT_POSTAL_ITEM_TYPE}; 
     curAddress = _resolver.query(Contacts.ContactMethods.CONTENT_URI, null, addrWhere, addrWhereParams, null); 
     int i=0; 
     int aCount = curAddress.getCount(); 
     String[] aType = new String[aCount]; 
     String[] aAddrss = new String[aCount]; 
     while(curAddress.moveToNext()) 
     { 
      aType[i] = curAddress.getString(curAddress.getColumnIndex(Contacts.ContactMethodsColumns.TYPE)); 
      aAddrss[i] = curAddress.getString(curAddress.getColumnIndex(Contacts.ContactMethodsColumns.DATA)); 
      i++; 
     } 
    } 
    catch (Exception e) 
    { 
     Log.e(StaticVariables.TAG, "getAddress: " + e.getMessage()); 
    } 
    finally 
    { 
     if(curAddress!=null) curAddress.close(); 
    } 
} 
+2

Клиент не всегда прав. :-(Для моих приложений я никогда не нацелился ниже 1.6. Во-первых, у 1.5 есть многочисленные проблемы, которые исправлены в версии 1.6. Во-вторых, G1 (1-й Android-устройство для доставки) обновлен до 1,6. В-третьих, библиотека поддержки Android (с фрагментами и т. д.) восходит только к 1.6. В-четвертых, только 3 из 1000 Android-устройств сегодня используют 1.5 (и еще 7 используют 1.6). – Sparky

ответ

0

Используйте ниже код Надеюсь, он сработает.

curAddress = getContext().getContentResolver().query(Contacts.ContactMethods.CONTENT_URI, null, addrWhere, addrWhereParams, null); 
+0

thnx для ответа, но _resolver уже инициализирован в конструкторе класса и исходит из основного действия , – user874480

Смежные вопросы