更换QQ头像

目录

1. 简单调用

更换QQ头像, 使用的是Tencent类的setAvatar方法;调用以下代码就可以实现;其中,listener是一个IUiListener实例。

private void doSetAvatar(String imagePath) {
Bundle params = new Bundle();
params.putString(Constants.PARAM_AVATAR_URI, imagePath);
mTencent.setAvatar(this, params, listener);
}

2. 从相机或相册中获取照片设置为QQ头像

在实际使用中,用户一般希望从相册中获得照片,或者调用相机进行拍照,再将其设置为QQ头像。因此,下面将讲解从相册中获取图片设置为头像的例子。

2.1 调用系统的Intent获取图片

我们可以发Intent,从手机内存中读取图片,也可以直接调用照相机进行拍照。

下面是从手机内存读取图片:

private void onClickSetAvatar() {
if (ready()) {
Intent intent = new Intent();
// 开启Pictures画面Type设定为image
intent.setType("image/*");
// 使用Intent.ACTION_GET_CONTENT这个Action
intent.setAction(Intent.ACTION_GET_CONTENT);
// 取得相片后返回本画面
startActivityForResult(intent, REQUEST_SET_AVATAR);
// 在 onActivityResult 中调用 doSetAvatar
}


2.2 在onActivityResult里获取图片,并设置头像

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mTencent == null){
return;
}
if (!mTencent.onActivityResult(requestCode, resultCode, data)) {
if (data != null) {
if (requestCode == REQUEST_SET_AVATAR) {
doSetAvatar(data.getData());
}
}
}
}
private void doSetAvatar(Uri uri) {
Bundle params = new Bundle();
params.putString(Constants.PARAM_AVATAR_URI, uri.toString());
// 这个return_activity是可选的
// params.putString(Constants.PARAM_AVATAR_RETURN_ACTIVITY,
// "com.tencent.sample.ReturnActivity");

// mTencent.setAvatar(this, params, new BaseUiListener());
mTencent.setAvatar(this, params, new BaseUiListener(), R.anim.zoomin, R.anim.zoomout);
}

3. 程序效果图

genghuangQQtouxiang-01.png

以上信息是否解决您的问题?

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部