最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android如何取得本地通訊錄的頭像的原圖的實現(xiàn)代碼

 更新時間:2018年12月11日 10:57:43   作者:nickcau  
這篇文章主要介紹了android如何取得本地通訊錄的頭像的原圖的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了android如何取得本地通訊錄的頭像的原圖的實現(xiàn)代碼,分享給大家,也給自己留個筆記

如果想通訊錄進入詳情頁,那么最重要的參數(shù)就是contactId,這個是聯(lián)系人的唯一標(biāo)識

getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   try {
     Cursor cursor = (Cursor) getListAdapter().getItem(position);
     if (cursor == null) {
      return;
     }
 
     int contactId = cursor.getInt(Personal.ID_COLUMN_INDEX);
     Intent intent = new Intent();
     intent.setClass(ContactsList.this, ContactDetail.class);
     intent.putExtra("contactId",contactId);
     startActivity(intent);
   }catch(Exception ex) {
     ex.printStackTrace();
   }
  }
});

本地通訊錄的原圖獲取方法是:

public class ContactDetail extends Activity {
 
  private ImageView contact_photo;
 
  public static void startActivity(Context context) {
    Intent intent = new Intent();
    intent.setClass(context,ContactDetail.class);
    context.startActivity(intent);
  }
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.contact_detail);
 
    int contactId = getIntent().getIntExtra("contactId", 0);
 
    contact_photo = (ImageView)findViewById(R.id.contact_photo);
 
    loadTask task = new loadTask(contactId);
    task.execute();
 
  }
 
 
  private class loadTask extends AsyncTask<Void, Void, Bitmap> {
 
    public loadTask(int id) {
      contactId = id;
    }
    private int contactId;
 
    @Override
    protected Bitmap doInBackground(Void... params) {
      InputStream inputStream = openDisplayPhoto(contactId);
 
      BitmapFactory.Options opt = new BitmapFactory.Options();
      opt.inSampleSize = 1;
      Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, opt);
      return bitmap;
    }
 
    @Override
    protected void onPostExecute(Bitmap result) {
 
      if(result != null) {
        contact_photo.setImageBitmap(result);
      }
      super.onPostExecute(result);
    }
 
  }
 
  /**
   * 這個是取到清晰圖的inputStream的代碼
   * @param contactId
   * @return
   */
  public InputStream openDisplayPhoto(long contactId) {
    Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId);
    Uri displayPhotoUri = Uri.withAppendedPath(contactUri, ContactsContract.Contacts.Photo.DISPLAY_PHOTO);
    try {
      AssetFileDescriptor fd =
          this.getContentResolver().openAssetFileDescriptor(displayPhotoUri, "r");
      return fd.createInputStream();
    } catch (IOException e) {
      e.printStackTrace();
      return null;
    }
  }
 
}

activity的運行效果是:

代碼在https://github.com/nickgao1986/StepSport

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

桐城市| 吉木萨尔县| 黑山县| 鄂尔多斯市| 浮梁县| 长兴县| 都兰县| 织金县| 门源| 大洼县| 清水河县| 长子县| 沭阳县| 新巴尔虎左旗| 乐陵市| 恩施市| 钟山县| 兴文县| 喜德县| 大庆市| 泾川县| 澄城县| 中宁县| 盐源县| 赤城县| 汝州市| 佛山市| 缙云县| 克山县| 岳普湖县| 亚东县| 翼城县| 建宁县| 深圳市| 蛟河市| 略阳县| 三河市| 红河县| 上虞市| 井冈山市| 寿阳县|