2016-12-27 70 views

回答

2

從聯繫人表,您可以通過查詢像圖所示

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)); 
      } 

光標將返回只有一個項目獲取最後一個聯繫人標識和入口會在接觸的表中的最後CONTACT_ID

注意:這不應該在主線程上完成,因爲如果設備聯繫人超過1000多個聯繫人,則可能會花費太多時間,因此請務必小心查詢具有大條目的數據庫

享受編碼! :)

+0

如果你知道你只會得到一個條目,不需要一個while循環 – marmor

+0

@marmor是正確的..其實我們不需要while循環,忘記刪除它..我編輯:) –

相關問題