1

連絡先を使用するアプリケーションを開発しています ! 仕事をするために!最も重要なことの 1 つは数値型です。

したがって、1 つの連絡先に複数の番号がある場合は ! 数と型を取得する必要があります。このような switch ステートメントを作成したくありません

                int type = phones.getInt(phones.getColumnIndex(Phone.TYPE));
                switch (type) {
                    case Phone.TYPE_HOME:
                        // do something with the Home number here...
                        break;
                    case Phone.TYPE_MOBILE:
                        // do something with the Mobile number here...
                        break;
                    case Phone.TYPE_WORK:
                        // do something with the Work number here...
                        break;
                 }

私のアプリはカスタムタイプで動作する可能性が高いため、タイプ TEXT を動的に取得する必要があります。モバイルや仕事だけでなく...など。

何か助けはありますか?

編集 :

このクエリとして連絡先を取得しようとしています:

カーソル電話 = cr.query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + " = " + id, null, null);

4

2 に答える 2

2

OPが電話タイプのラベルを探していることを明らかにした後、@Rawkodeの回答を拡張します。

これをオンラインで見つけました-Androidにはラベルを取得する方法が組み込まれているようです(開示:これはまだテストしていません)

import android.provider.ContactsContract.CommonDataKinds.Phone;
String home_label = (String) Phone.getTypeLabel(context.getResources(), Phone.TYPE_HOME, "");
于 2013-03-04T14:57:03.977 に答える
0

ドキュメンテーション

String typeLabel = phones.getString(phones.getColumnIndex(Phone.LABEL));
于 2013-02-28T14:20:59.943 に答える