Android 1.5 api给出了错误的输出

时间:2012-05-02 08:18:55

标签: android

我正在使用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();
    }
}

1 个答案:

答案 0 :(得分:0)

使用下面的代码我希望它能正常工作。

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