2016-12-27 3 views

Répondre

2

à partir des contacts Table, vous pouvez obtenir le dernier contact Id en questionnant comme illustré ci-dessous

final String sortOrder = ContactsContract.Contacts._ID+" DESC LIMIT 1"; 
      Cursor lcursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,new String[] {ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME},null,null,sortOrder); 
      if (lcursor != null && lcursor.moveToFirst()) { 
       long id = lcursor.getLong(lcursor.getColumnIndex(ContactsContract.Contacts._ID)); 
       String displayName = lcursor.getString(lcursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
      } 

curseur retournera qu'une seule entrée et que l'entrée sera la dernière contact_id dans la table du contact

Remarque: Cela ne devrait pas se faire sur un fil principal, car il peut prendre trop de temps si l'appareil est plus contact 1000 contacts, être donc toujours de carefull Interrogation du DataBase ayant de grandes entrées

Profitez du codage! :)

+0

Si vous savez que vous aurez une seule entrée, pas besoin de boucle while – marmor

+0

@marmor oui correct .. en fait, nous n'avons pas besoin de boucle tout, j'ai oublié de l'enlever .. j'ai édité :) –