• android 通过ContentResolver获得联系人数据


    package MyGetContacts.code;

    import android.app.Activity;
    import android.content.ContentResolver;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.ContactsContract;
    import android.widget.TextView;

    public class MainActivity extends Activity {
        /** Called when the activity is first created. */
        
        TextView textView;
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            textView = (TextView)findViewById(R.id.textView);
            String str = getQueryData();
            textView.setText(str);
            
        }


        private String getQueryData()
        {
            String result = "";
            ContentResolver resolver = getContentResolver();
            Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
            
            int idIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
            int nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
            
            //for(cursor.moveToFirst();(!cursor.isAfterLast());cursor.moveToNext())
            while(cursor.moveToNext())
            {
                String contactId = cursor.getString(idIndex);
                
                Cursor phone = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
                        null,null);
                
                result = result + contactId + "\t";
                
                while(phone.moveToNext())
                {
                    int i = phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
                    String num = phone.getString(i);
                    result += num;
                }
     
                result = result + cursor.getString(nameIndex) + "\t\n";
                
                phone.close();
            }
            cursor.close();  


            return result;
        }
    }

    最后别忘了 加上 <uses-permission android:name="android.permission.READ_CONTACTS"/>  这个权限,否则运行会出错

    (真不知道google加这些权限干嘛用,脑残~~~)

  • 相关阅读:
    姐姐的vue(1)
    LeetCode 64. Minimum Path Sum 20170515
    LeetCode 56. 56. Merge Intervals 20170508
    LeetCode 26. Remove Duplicates from Sorted Array
    LeetCode 24. Swap Nodes in Pairs 20170424
    LeetCode 19. Remove Nth Node From End of List 20170417
    LeetCode No.9 Palindrome Number 20170410
    LeetCode No.8. String to Integer (atoi) 2017/4/10(补上一周)
    LeetCode No.7 Reverse Integer 2017/3/27
    LeetCode No.4 Median of Two Sorted Arrays 20170319
  • 原文地址:https://www.cnblogs.com/rollrock/p/2385992.html
Copyright © 2020-2023  润新知