Android: how to access the SIM contact table using the SDK?

后端 未结 3 1735
梦谈多话
梦谈多话 2020-12-18 06:04

I am trying to use this query to read the contacts on the SIM.

            cur = managedQuery(Uri.parse(\"content://icc/adn\")
                ,null
                 


        
相关标签:
3条回答
  • 2020-12-18 06:48

    i have used the following code to get the simcard details..It works fine

    Uri simUri = Uri.parse("content://icc/adn");
            Cursor cursorSim    = this.getContentResolver().query(simUri, null, null,null, null);
    
             while (cursorSim.moveToNext()) {           
                 listName.          add(cursorSim.getString(cursorSim.getColumnIndex("name")));
                 listContactId.     add(cursorSim.getString(cursorSim.getColumnIndex("_id")));      
                 listMobileNo.      add(cursorSim.getString(cursorSim.getColumnIndex("number")));
                }
    

    Here the name, _id, number are column names from the simcard table

    0 讨论(0)
  • 2020-12-18 07:00

    i got it,

    String simUrl = "content://icc/adn";
    Intent intent = new Intent();
                Log.d(TAG, "simUrl=" + simUrl);
                intent.setData(Uri.parse(simUrl));
                Uri uri = intent.getData();
                Cursor mCursor = context.getContentResolver().query(uri, null,
                        null, null, null);
    

    and then, for(...){...}, you know

    0 讨论(0)
  • 2020-12-18 07:05

    I just implemented a small piece of code that used to display a list of contacts in SIM card. Hope that it can help you

    private void displaySIMContacts() {
        try {
            String simPhoneId = null;
            String simPhoneNum = null;
            String simPhoneName = null;
    
            Uri simUri = Uri.parse("content://icc/adn");
            Cursor simCursor = getContentResolver().query(simUri, null, null, null, null);
    
            while(simCursor.moveToNext()) {
                simPhoneId = simCursor.getString(simCursor.getColumnIndex("_id"));
                simPhoneNum = simCursor.getString(simCursor.getColumnIndex("name"));
                simPhoneName = simCursor.getString(simCursor.getColumnIndex("number"));
                Log.v("!!!", " id = " + simPhoneId + " - name = " + simPhoneName
                    + " - number = " +simPhoneNum);
            }
        }
        catch (Exception e) {
           e.printStackTrace();
        }
    }
    
    0 讨论(0)
提交回复
热议问题