2012-05-02 81 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首先,1.5有很多問題在1.6中得到了解決;其次,G1(第一次發佈Android設備)升級到1.6;第三,Android支持庫(帶有碎片等等)只能回到1.6;第四,現在1000個Android設備中只有3個使用1.5(而另外7個使用1.6), – Sparky

回答

0

使用下面的代碼我希望它的工作。

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

thnx用於回覆,但_resolver已經在類構造器中初始化並且它來自主要活動。 – user874480