-1

過去数日以来、変数に既に保存されている電話番号を使用して連絡先名を取得する方法を見つけるためにあらゆる場所を探してきましたが、残念ながら、これまでに見つけたものはすべて非推奨の関数/呼び出しを使用しているようです.

もちろん、私は自分のやり方でやってみましたが、私の Android/JAVA の知識はまだこの概念を理解するのに十分ではないように感じます.

これまでのところ、私が見つけることができた最高のものは次のようなものでした:

public String getContactName(final String phoneNumber) 
    {  
        Uri uri;
        String[] projection;

        if (Build.VERSION.SDK_INT >= 5)
        {
            uri = Uri.parse("content://com.android.contacts/phone_lookup");
            projection = new String[] { "display_name" };
        }
        else
        { 
            uri = Uri.parse("content://contacts/phones/filter");
            projection = new String[] { "name" }; 
        } 

        uri = Uri.withAppendedPath(uri, Uri.encode(phoneNumber)); 
        Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null); 

        String contactName = "";

        if (cursor.moveToFirst()) 
        { 
            contactName = cursor.getString(0);
        } 

        cursor.close();
        cursor = null;

        return contactName; 
    }

しかし、このコードを使用すると、Eclipse は「コンテキストを解決できない」と教えてくれます。私が見つけた多くのコードと説明は、このContextを使用していましたが、これを読んでもまだ理解できません: What is 'Context' on Android?

どんな助けでも大歓迎です、どうもありがとうございました

4

1 に答える 1