其他分享
首页 > 其他分享> > 如何获取存储在SIMCARD 4.0以上版本的android中的联系人的类型?

如何获取存储在SIMCARD 4.0以上版本的android中的联系人的类型?

作者:互联网

我想从sim以及4.0及以上版本的手机中获取所有联系人,但要使用手机类型.
我看到这个链接How to get all contacts from phonebook & SIM card in Android?

但是我没有联系方式.

解决方法:

当我获取SIM CONTACTS的CURSOR时,它为我提供了5列字段,分别是名称,数字,extra_number,电子邮件和_id.

因此,它实际上并未向我们提供类似于电话联系人之类的mime类型字段的“联系电话类型”字段.

可能的话,如果可以,请别人完成.

我已经发布了我在应用程序中使用的代码.

尝试{
                    字符串m_simPhonename = null;
                    字符串m_simphoneNo = null;

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

                Log.i("PhoneContact", "total: "+cursorSim.getCount());

                while (cursorSim.moveToNext()) 
                {      
                    m_simPhonename =cursorSim.getString(cursorSim.getColumnIndex("name"));
                    m_simphoneNo = cursorSim.getString(cursorSim.getColumnIndex("number"));

                    m_simphoneNo.replaceAll("\\D","");
                    m_simphoneNo.replaceAll("&", "");
                    m_simPhonename=m_simPhonename.replace("|","");

                    Log.i("PhoneContact", "name: "+m_simPhonename+" phone: "+m_simphoneNo);

                    if(m_simphoneNo.length()>0){
                        if(m_simPhonename!=null){

                        }else{
                            m_simPhonename = m_simphoneNo;
                        }
                        callbackDB.InsertContacts(null, m_simPhonename+"="+m_simphoneNo, m_simphoneNo, null);
                    }
                }     
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }

标签:contactscontract,android
来源: https://codeday.me/bug/20191122/2063669.html