Sim 联系人不会显示

Posted

技术标签:

【中文标题】Sim 联系人不会显示【英文标题】:Sim contacts won't show up 【发布时间】:2012-06-28 23:54:27 【问题描述】:

我刚刚创建了一个应用程序,当我按下一个按钮并检索所选联系人的号码时,我设法获取了电话联系人。

我的问题是我只能看到电话联系人,而不是 SIM 卡联系人。

我的代码是:

@Override
    public void onActivityResult(int reqCode, int resultCode, Intent data) 
        super.onActivityResult(reqCode, resultCode, data);
        if (resultCode!=0)
             Uri uri = data.getData();
             Cursor cursor=this.getContentResolver().query(uri, null, null, null, null);

                while (cursor.moveToNext())  
                String contactId = cursor.getString(cursor.getColumnIndex( 
                  ContactsContract.Contacts._ID)); 
                String hasPhone = cursor.getString(cursor.getColumnIndex( 
                  ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
                if ((Integer.parseInt(cursor.getString( cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0))  
                             // You know have the number so now query it like this
             Cursor phones = getContentResolver().query( 
               ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
               null, 
               ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, 
                   null, null); 
                 while (phones.moveToNext())  

                  phoneNumber = phones.getString( 
                   phones.getColumnIndex( 
                      ContactsContract.CommonDataKinds.Phone.NUMBER));

                  
                 phonenumber.setText(phoneNumber);

                 phones.close(); 
                 
              

        


    

还有一些我无法理解的东西。

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 开始活动(意图);

显示所有联系人,但我不能选择一个和结果

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, 1);

只显示手机中的联系人,这是为什么?

【问题讨论】:

查看之前发布的问题的答案:***.com/questions/8908859/… 这对我没有帮助 【参考方案1】:

将此添加到您的意图中:

intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);

其他都很好。

【讨论】:

以上是关于Sim 联系人不会显示的主要内容,如果未能解决你的问题,请参考以下文章

如何仅显示电话联系人(不包括 SIM 联系人)

华为手机装了手机卡为啥总显示没有sm

以编程方式阅读 Android 中的 Sim 联系人?

导入联系人VCF卡后显示全是乱码怎么解决

Android - 创建新的 SIM 卡联系人

如何获取所有 android 联系人但没有 SIM 卡上的联系人