zoukankan      html  css  js  c++  java
  • 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加这些权限干嘛用,脑残~~~)

  • 相关阅读:
    简单聊聊智能硬件的固件测试
    Regular进阶: 跨组件通信
    项目组建和磨合阶段常见的坑
    从需求到数据到改进,如何形成闭环
    请不要怪罪流程
    自备干货!如何有效的做竞品迭代分析
    css小点心
    java的collection集合
    java中的数组与集合相互转换
    java-增强for循环
  • 原文地址:https://www.cnblogs.com/rollrock/p/2385992.html
Copyright © 2011-2022 走看看