Monday 5 March 2012

Useful stuff

Here is nothing new but I wanted to bind some useful stuff that I could not find in one place.

1. Invoke the device's gallery and get the Image/video URI. 

private void invokeGallery () {
     Intent intent = new Intent();
     intent.setAction(Intent.ACTION_PICK);
     intent.setType("image/*");
     startActivityForResult(intent, 001);
}

   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if ( requestCode == 001 && data != null && data.getData() != null ) {
            URi imageUri = data.getData();
            imageview.setImageURI(imageUri );
        }
    }

2. Launch default contact picker and get the contact details.

private void launchContactPicker() {
        Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
                Contacts.CONTENT_URI);
        startActivityForResult(contactPickerIntent, 1001);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   if ( requestCode == 1001 ) {
      Bundle _data = data.getExtras();
      Set<String> keys = _data.keySet();
      Iterator<String> iterate = keys.iterator();
      if ( iterate.hasNext() ) {
         String key = iterate.next();
         String contactName = _data.get(key).toString();
      //To query Content Provider for contact number:
      Cursor cursor = getContentResolver().query(android.provider.ContactsContract.Contacts.CONTENT_URI, null,    android.provider.ContactsContract.Contacts.DISPLAY_NAME + "=?", new String[]{contactName }, null);    
      //To query the Content Provider for Email ID's:

      //Using above cursor:
      String id = cursor .getString(cursor .getColumnIndex(android.provider.ContactsContract.Contacts._ID));
      Cursor emailCursor = getContentResolver().query(android.provider.ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, android.provider.ContactsContract.CommonDataKinds.Email.CONTACT_ID+ " = " + id, null, null);

      if(emailCursor .getCount() > 0){
         emailCursor .moveToFirst();
         do {
             String _emailId = emailCursor.getString(emailCursor        .getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Email.DATA));            }while(mCursor.moveToNext());
        }

            }
        }
}

3. Get device resolution and desity.

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
 //Desity
switch(metrics.densityDpi){
    case DisplayMetrics.DENSITY_LOW:
         break;
    case DisplayMetrics.DENSITY_MEDIUM:
         break;
    case DisplayMetrics.DENSITY_HIGH:
         break;
}
//Resolution
int screenWidth = metrics .widthPixels;
int screenHeight = metrics .heightPixels;

profile for Vineet Shukla at Stack Overflow, Q&A for professional and enthusiast programmers

No comments:

Post a Comment