Beispiel #1
0
 private Uri lookupContact(String phone) {
   Cursor c = null;
   try {
     Uri phoneUri =
         Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phone));
     String[] projection =
         new String[] {ContactsContract.Contacts._ID, ContactsContract.Contacts.LOOKUP_KEY};
     c = mContext.getContentResolver().query(phoneUri, projection, null, null, null);
     if (c != null && c.getCount() > 0) {
       c.moveToFirst();
       int lookupIdx = c.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY);
       int idIdx = c.getColumnIndex(ContactsContract.Contacts._ID);
       String lookupKey = c.getString(lookupIdx);
       long contactId = c.getLong(idIdx);
       return ContactsContract.Contacts.getLookupUri(contactId, lookupKey);
     }
   } catch (Throwable t) {
     Log.w(TAG, "Problem getting content resolver or performing contacts query.", t);
   } finally {
     if (c != null) {
       c.close();
     }
   }
   return null;
 }
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		super.onClick(v);
		
		switch(v.getId()) {
		case R.id.bt_contact:
			Uri uri = ContactsContract.Contacts.getLookupUri(((ViewHolder)findViewHolder(v))
					.contact.getContactId(), (((ViewHolder)findViewHolder(v)).contact.getLookUpKey()));
		    QuickContact.showQuickContact(this, v, uri, QuickContact.MODE_LARGE, null);
			break;
		}
		
		
	}
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    // Get the Cursor
    Cursor cursor = ((SimpleCursorAdapter) parent.getAdapter()).getCursor();
    // Move to the selected contact
    cursor.moveToPosition(position);
    // Get the _ID value
    mContactId = cursor.getLong(CONTACT_ID_INDEX);
    // Get the selected LOOKUP KEY
    mContactKey = cursor.getString(LOOKUP_KEY_INDEX);
    // Create the contact's content Uri
    mContactUri = ContactsContract.Contacts.getLookupUri(mContactId, mContactKey);
    /*
     * You can use mContactUri as the content URI for retrieving
     * the details for a contact.
     */
    if (ACTION.equals(SHOW_CONTACT_ACTION)) {
      Intent openContact = new Intent(Intent.ACTION_VIEW, mContactUri);
      startActivity(openContact);
    } else {

    }
  }