2012-05-02 13 views
0

私はアンドロイド1.5 APIを使用していますが、廃止予定ですが、クライアントの要件が分かっています。連絡先アドレスを読み取るのに次のコードを使用していますが、アドレスカウントが0になるたびに私は問題が何かを見つけることができません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

お客様が必ずしも正しいとは限りません。 Androidのサポートライブラリ(Fragments(with Fragments))を使用すると、1.6(1.6)にアップグレードすることができます。 、など)は1.6に戻っています。第4に、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

関連する問題