需要注意的是,要想获取系统联系人,首先应在AndroidManifest中获取读取联系人权限,即添加如下代码:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
如果使用模拟器运行时,需要先在模拟器里面添加一些联系人,手机运行的话,如果有联系人就不需要添加了,否则也需要添加。
MainActivity代码如下:
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends Activity implements OnClickListener {
private Button btn;
private ListView listView;
private Cursor cursor1, cursor2;
private ContentResolver resolver;
private List<Person> list;
private Person person;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
listView = (ListView) findViewById(R.id.listView);
resolver = getContentResolver();
btn.setOnClickListener(this);
list = new ArrayList<Person>();
}
@Override
public void onClick(View v) {