2015-02-18 2 views
-2

Я делаю приложение для Android, похожее на whatsapp. Я хочу знать, как синхронизировать контакты Android с моим приложением, чтобы зарегистрированные цифры с моим приложением, а также в моих контактах с андроидами получил символ. Например, в вашем списке контактов вы видите значок skype или значок whatsapp с теми контактами, которые зарегистрированы в skype или whatsapp. Также хотите отобразить эти контакты в контактах моего приложения. Кто-нибудь может вести меня, что делать. Спасибо! заранее ....Как синхронизировать контакты с моим телефоном Android. Как связаться с моим Android-приложением, например Whatsapp n Skype

ответ

0

попробовать этот

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; 

    } 

} 

}

0
Cursor c = getContentResolver().query(
    RawContacts.CONTENT_URI, 
    new String[] { RawContacts.CONTACT_ID, RawContacts.DISPLAY_NAME_PRIMARY }, 
    RawContacts.ACCOUNT_TYPE + "= ?", 
    new String[] { "com.whatsapp" }, 
    null); 

ArrayList<String> myWhatsappContacts = new ArrayList<String>(); 
int contactNameColumn = c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY); 
while (c.moveToNext()) 
{ 
// You can also read RawContacts.CONTACT_ID to read the 
// ContactsContract.Contacts table or any of the other related ones. 
myWhatsappContacts.add(c.getString(contactNameColumn)); 
} 

Изменить "com.whatsapp" с вашим именем приложения, но сначала необходимо зарегистрировать Для этого обратитесь http://developer.android.com/guide/topics/providers/contacts-provider.html

Смежные вопросы