使用的sdk版本: V2.2.2(发布日期:2014.3.17)
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ><!-- title --><LinearLayoutandroid:id="@+id/qqshare_title_container"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center|left"android:orientation="vertical" ><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left|center_vertical"android:text="title" /><EditTextandroid:id="@+id/shareqq_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="qzoneshare_title_content" /></LinearLayout><!-- summary --><LinearLayoutandroid:id="@+id/qqshare_summary_container"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center|left"android:orientation="vertical" ><TextViewandroid:id="@+id/tv_summary"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left|center_vertical"android:text="summary" /><EditTextandroid:id="@+id/shareqq_summary"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="qzoneshare_summary_content" /></LinearLayout><!-- shareqq_targetUrl --><LinearLayoutandroid:id="@+id/qqshare_targetUrl_container"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center|left"android:orientation="vertical" ><TextViewandroid:id="@+id/tv_targetUrl"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left|center_vertical"android:text="targetUrl" /><EditTextandroid:id="@+id/shareqq_targetUrl"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="http://www.qq.com" /></LinearLayout><!-- imageUrl --><LinearLayoutandroid:id="@+id/qqshare_imageUrl_container"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center|left"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="vertical" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="left|center_vertical"android:text="qqshare_imageUrl_lable" /><ImageViewandroid:id="@+id/btn_addImage"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="5dip"android:clickable="true"android:src="@drawable/ic_launcher" /><EditTextandroid:id="@+id/shareqq_imgurl"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="" /></LinearLayout></LinearLayout><Buttonandroid:id="@+id/shareqq_commit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="35dp"android:text="commit" /></LinearLayout>
活动代码:
/*** 测试qq空间分享*/
public class TestQzoneShare extends Activity implements OnClickListener {private static final int MAX_IMAGE = 9;private EditText title = null;private EditText summary = null;private EditText targetUrl = null;private EditText imgurl = null;private StringBuffer buffer = new StringBuffer();// QZone分享, SHARE_TO_QQ_TYPE_DEFAULT 图文,SHARE_TO_QQ_TYPE_IMAGE 纯图private int shareType = QzoneShare.SHARE_TO_QZONE_TYPE_IMAGE_TEXT;// zivon addTencent tencent;// 申请的idpublic String mAppid = "222222";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.acy_testqqzoneshare);initView();}public void initView() {tencent = Tencent.createInstance(mAppid, this);title = (EditText) findViewById(R.id.shareqq_title);targetUrl = (EditText) findViewById(R.id.shareqq_targetUrl);summary = (EditText) findViewById(R.id.shareqq_summary);imgurl = (EditText) findViewById(R.id.shareqq_imgurl);findViewById(R.id.shareqq_commit).setOnClickListener(this);findViewById(R.id.btn_addImage).setOnClickListener(this);}@Overridepublic void onClick(View v) {int id = v.getId();switch (id) {case R.id.shareqq_commit: // 提交final Bundle params = new Bundle();params.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE, shareType);params.putString(QzoneShare.SHARE_TO_QQ_TITLE, title.getText().toString());params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, summary.getText().toString());params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL, targetUrl.getText().toString());// 支持传多个imageUrlArrayList<String> imageUrls = new ArrayList<String>();// 切割字符串String str = imgurl.getText().toString();String[] arr = str.split(";");for (String s : arr) {imageUrls.add(s);}// String imageUrl = "XXX";// params.putString(Tencent.SHARE_TO_QQ_IMAGE_URL, imageUrl);params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL,imageUrls);doShareToQzone(params);return;case R.id.btn_addImage:// 点的是选择图片startPickLocaleImage(this, 10);}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {String path = null;if (resultCode == Activity.RESULT_OK) {if (data != null && data.getData() != null) {// 根据返回的URI获取对应的SQLite信息Uri uri = data.getData();final String[] proj = { MediaStore.Images.Media.DATA };Cursor cursor = this.getContentResolver().query(uri, proj,null, null, null);int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);cursor.moveToFirst();path = cursor.getString(column_index);}}if (path != null) {// 清空以前的字符串if ("".equals(imgurl.getText().toString())) {buffer.append(path);} else {buffer.delete(0, buffer.length());buffer.append(imgurl.getText().toString() + ";" + path);}imgurl.setText(buffer.toString());} else {// 当从qzone 返回时,会回到该方法showToast("请重新选择图片");}}private void startPickLocaleImage(Activity activity, int requestId) {Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("image/*");activity.startActivityForResult(Intent.createChooser(intent,activity.getString(R.string.str_image_local)),requestId);}/*** 用异步方式启动分享 返回服务器的消息* */private void doShareToQzone(final Bundle params) {new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtencent.shareToQzone(TestQzoneShare.this, params,new IUiListener() {@Overridepublic void onCancel() {// Util.toastMessage(activity, "onCancel: ");}@Overridepublic void onError(UiError e) {// TODO Auto-generated method stub// Util.toastMessage(activity, "onError: "// + e.errorMessage, "e");}@Overridepublic void onComplete(Object response) {// TODO Auto-generated method stub// Util.toastMessage(activity,// "onComplete: " + response.toString());}});}}).start();}Toast mToast = null;private void showToast(String text) {if (mToast != null && !super.isFinishing()) {mToast.setText(text);mToast.show();return;}mToast = Toast.makeText(this, text, Toast.LENGTH_SHORT);mToast.show();}
}
运行结果:
1.按机器人图片 就添加图片路径:
2.分享的评论:
3.分享后,在空间就可以看见了:
在网页的空间上,也是一样的。