android contacts电话查询头像,android怎么取得本地通讯录的头像的原图
android怎么取得本地通訊錄的頭像的原圖
發布時間:2021-02-10 19:25:16
來源:億速云
閱讀:103
作者:小新
這篇文章將為大家詳細講解有關android怎么取得本地通訊錄的頭像的原圖,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
如果想通訊錄進入詳情頁,那么最重要的參數就是contactId,這個是聯系人的唯一標識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?{
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的運行效果是:
關于“android怎么取得本地通訊錄的頭像的原圖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
總結
以上是生活随笔為你收集整理的android contacts电话查询头像,android怎么取得本地通讯录的头像的原图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多项式加法c语言数组解,急!!!!c语言
- 下一篇: android获取小程序音频时长,最新微