当前位置: 首页 > 面试题库 >

如何分别阅读android sim联系人和电话联系人

柴泰平
2023-03-14
问题内容

我想在Android中分别阅读所有SIM卡联系人和电话联系人。我进行了搜索,发现很多人对此有疑问,但我找不到任何解决方案。我在这里喜欢一些答案,但这对我不起作用。当我测试它给我谷歌联系人:

RawContacts.ACCOUNT_TYPE + " = 'com.google' "

但是当我测试时,它并没有给我SIM卡联系人:

RawContacts.ACCOUNT_TYPE + " = 'com.android.contacts.sim' "

然后我发现RawContacts是在此处由同步适配器创建的联系人。那可能是问题所在。有谁能告诉我

  • 所有simcontacts
  • 所有电话联络人

谢谢。


问题答案:

电话联络人

try
{
    String[] PROJECTION=new String[] {Contacts._ID,
        Contacts.DISPLAY_NAME,
        Phone.NUMBER
    };

    Cursor c=managedQuery(Phone.CONTENT_URI,
        PROJECTION, null, null, null);
        if (c.moveToFirst()) {
            String ClsPhonename = null;
            String ClsphoneNo = null;

            do 
            {
                ClsPhonename = c.getString(c.getColumnIndex(Contacts.DISPLAY_NAME));
                ClsphoneNo = c.getString(c.getColumnIndex(Phone.NUMBER));


                ClsphoneNo.replaceAll("\\D", "");
                ClsPhonename=ClsPhonename.replaceAll("&", "");
                ClsPhonename.replace("|","");
                String ClsPhoneName=ClsPhonename.replace("|","");

                }

            } while(c.moveToNext());
        }

用于SIM卡联系人

字符串ClsSimPhonename = null; 字符串ClsSimphoneNo = null;

    Uri simUri = Uri.parse("content://icc/adn"); 
    Cursor cursorSim = this.getContentResolver().query(simUri,null,null,null,null);

    while (cursorSim.moveToNext()) 
    {      
        ClsSimPhonename =cursorSim.getString(cursorSim.getColumnIndex("name"));
        ClsSimphoneNo = cursorSim.getString(cursorSim.getColumnIndex("number"));
        ClsSimphoneNo.replaceAll("\\D","");
        ClsSimphoneNo.replaceAll("&", "");
        ClsSimPhonename=ClsSimPhonename.replace("|","");
            System.out.println("SimContacts"+ClsSimPhonename);
            System.out.println("SimContactsNo"+ClsSimphoneNo);
            dts.createDatabse("MyCellFamily",getApplicationContext());

    }        
}
catch(Exception e)
{
    e.printStackTrace();
}


 类似资料:
  • M600 会显示您存储在 Google Contacts(Google 联系人)上的联系人信息。您可以呼叫联系人或给他们发送信息或电子邮件。 *请注意,由于手机的操作系统的不同,其通讯功能的使用会受到某些限制。

  • 背景: 我为android写了一个简单的小拨号器,可以拨打联系人的电话号码 问题: 我想打电话给联系人,而不是电话号码,这样Android: 如果联系人有两个号码:将启动电话号码选择对话框,然后启动通话 当然,我可以从头开始实现一个弹出窗口,但我更愿意委托给一个标准操作,这样用户就可以使用与使用标准拨号器相同的用户体验。

  • 介绍 通过 Contact 组件可以实现联系人的展示、选择、编辑等功能。 引入 import { createApp } from 'vue'; import { ContactCard, ContactList, ContactEdit } from 'vant'; const app = createApp(); app.use(ContactCard); app.use(ContactLi

  • 我是新的应用程序开发人员,所以我写了一个代码,希望从通讯录中读取联系人列表,并成功点击该联系人。现在的问题是,当单击“我的联系人”列表视图中显示的联系人时,我想在不同的页面上显示联系人的姓名和电话号码。我想在add_friend类中显示姓名和电话号码。 这是联系人。JAVA } 这是contactADAPTER } 这是回收者的观点 我想在这里显示所选联系人的姓名和号码 公共类Add_Friend

  • 我想从Android的联系簿中获得电话号码。我尝试了许多方法,但我无法获得电话号码。我有联系人姓名和状态,但当我尝试获取电话号码时,它不起作用。我的代码是。

  • 我遵循这个示例检索联系人列表,从android设备检索联系人。它提供所有联系人,包括电子邮件联系人和一些空联系人。 我尝试修改Conrects合同,如在投影和选择,以获得移动联系人,但没有工作。 String SELECTION=Conrects合同。联系人。DISPLAY_NAME" 有没有办法只获得有手机号码的联系人?