获取联系人效果图:
获取短信效果图:
前提--——添加权限:
<1>获取手机联系人
通过短信数据库获取联系人内容:
Activity代码:
package com.example.android_readcontacts; import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { private ContentResolver contentResolver; private List<Map<String, Object>> data; private ListView lt_main_listview; private SimpleAdapter simpleAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lt_main_listview = (ListView) findViewById(R.id.lt_main_listview); //得到内容监听者 contentResolver = getContentResolver(); //展示数据 data = new ArrayList<Map<String,Object>>(); //准备适配器 simpleAdapter = new SimpleAdapter(this, data,android.R.layout.simple_list_item_2,new String[]{ "name","phone"},new int[]{android.R.id.text1,android.R.id.text2}); //设置适配器 lt_main_listview.setAdapter(simpleAdapter); } //获取联系人 public void getContacts(View view){ //获取系统联系人地址 Cursor cursor=contentResolver.query(Uri.parse("content://com.android.contacts/raw_contacts"),null,null,null,null); while (cursor.moveToNext()){ Map<String,Object> map=new HashMap<>(); //获取系统表字段