问题:目前android手机可以显示手机联系人,如果想查看SIM卡联系人,只有联系人菜单中的导入/导出选项将联系人导出      我想做一个可以在联系人listview中显示SIM卡联系人的东东目前知道从SIM卡读取联系人可以通过content://ICC/adn读取,但是怎么显示到界面上,并且后期如何做修改删除的动作考虑不好是把SIM卡联系人加入到联系人的数据库content://com.android.contacts中呢,还是直接显示SIM卡联系人了?我目前的想法是把SIM卡联系人存到content://com.android.contacts数据库中,然后在数据库中标识这是SIM卡联系人,但是实在不知道该用数据库中哪个标记位标识?
如果需要增加一个标识如何增加?先拜谢各位大大

解决方案 »

  1.   

    联系人数据库的provider有两个authorities:
    content://com.android.contacts和content://contacts,哪个都行,呵呵路过留字,感激不尽
      

  2.   

    http://www.eoeandroid.com/thread-24209-1-1.html
    这里提到了一种方法,你试试可不可以,注意添加权限。
      

  3.   

    这个里面主要讲的是通过content://ICC/adn对SIM卡联系人进行删除的问题,这个不是我想要的,不过非常感谢
      

  4.   

    这个问题我已经解决了,大概的思路如下:
    1、首先要将SIM卡已有的联系人导入到content://contacts中,在sourceid的地方写入联系人的index
    2、显示联系人的地方,根据sourceid来显示不同的图标
    3、增加、删除、修改,都要根据sourceid来做处理,判断sourceid不为0,就当做sim卡联系人来处理
    4、另外content://icc的provider也需要做修改,这里android的流程是根据名字和号码来进行匹配的,必须改成根据联系人index来匹配,因为SIM卡中允许同名同号联系人共存处理比较复杂吧主要是联系人数据库中几个表的关系要搞清楚:
    1、data和raw_contacts这两个表是要自己修改的,contacts这个是content://contacts的provider自动修改的
    2、对SIM卡联系人的处理都要对data、raw_contacts两个表做处理
    3、显示的时候根据contacts表做处理
    比较负责,界面方面相对简单很多,注意XML一些属性的设置就可以了后续我会在博客中把整个过程和代码放进去,有需求的给我消息吧
      

  5.   

    csdn怎么也这样要挟用户啊,我登陆之后还是看不了啊
      

  6.   

    很好  very good 
      

  7.   

    楼主能把源码发来学习学习吗?非常感谢阿。。[email protected],你懂的
      

  8.   

    楼主,代码在哪里啊?blog上面没有看到诶,能不能发到我邮箱? [email protected]
    拜谢中……
      

  9.   

    我也差不多是这样做的,但是问题是读取联系人到Contacts2.db数据库中时比较占用cpu,在这个过程中过多操作手机就会出现无响应,请问你读取sim卡联系人是用线程还是服务做的呢,你的代码可以发给我看看吗,谢谢了
      

  10.   

    lz 现在我也遇到了这个问题,希望能看一下源码,在你博客上没找到相关文章。发我邮箱库可以吗??万分感谢 [email protected]