我正在制作一个类似于whatsapp的android应用程序。我想知道的是如何将android联系人与我的应用程序同步,以便在我的应用中注册的号码以及我的android联系人中的号码都有一个符号。例如,在你的联系人列表中,你会看到一个skype图标或whatsapp图标,其中包含那些在skype或whatsapp注册的联系人。还希望在我的应用程序的联系人中显示该联系人。任何人都可以指导我做什么。谢谢提前
尝试这个
public class ContactActivity extends Activity {
Cursor cursor;
ArrayList<String> NameList=new ArrayList<String>();
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView)findViewById(R.id.listveiew_lv);
// NameList=new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,NameList);
cursor = getContentResolver().query(Phone.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
int nameIdx = cursor.getColumnIndex(Phone.DISPLAY_NAME);
int phoneNumberIdx = cursor.getColumnIndex(Phone.NUMBER);
String name = cursor.getString(nameIdx);
String phone = cursor.getString(phoneNumberIdx);
NameList.add(phone);
System.out.println("Name is :"+name +" number is : "+phone);
System.out.println("Name is :"+name +" number is : "+phone);
System.out.println("Name is :"+name +" number is : "+phone);
}
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), NameList.get(arg2), 1).show();
}
});
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
super.startActivityForResult(i, 1001);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1001:
if (resultCode == Activity.RESULT_OK) {
Cursor s = getContentResolver().query(Phone.CONTENT_URI, null,
null, null, null);
if (s.moveToFirst()) {
String phoneNum = s.getString(s.getColumnIndex(Phone.NUMBER));
Toast.makeText(getBaseContext(), phoneNum, Toast.LENGTH_LONG).show();
}
}
break;
}
}
}