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 回答