腾讯QQAndroid API调用实例(QQ分享无需登录)

腾讯QQAndroid API调用实例(QQ分享无需登录)

 

主要分为两个步骤:

  1. 配置Androidmanifest.xml
  2. 修改activity里边代码

具体修改如下:

 

1、Activity代码

  1. package com.corele.qqshare;
  2.  
  3. import android.app.Dialog;
  4. import android.content.Intent;
  5. import android.os.Handler;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.TextView;
  11.  
  12. import com.tencent.connect.share.QQShare;
  13. import com.tencent.tauth.IUiListener;
  14. import com.tencent.tauth.Tencent;
  15. import com.tencent.tauth.UiError;
  16.  
  17. public class MainActivity extends AppCompatActivity implements View.OnClickListener{
  18.     private TextView mMessageText;
  19.     private TextView mBaseMessageText;
  20.     private Dialog mProgressDialog;
  21.     private Handler mHandler;
  22.     private Tencent mTencent;
  23.     private Button qqshare;
  24.     @Override
  25.     protected void onCreate(Bundle savedInstanceState) {
  26.         super.onCreate(savedInstanceState);
  27.         setContentView(R.layout.activity_main);
  28.         mTencent=Tencent.createInstance("1105968442",this.getApplicationContext());
  29.         initViews();
  30.     }
  31.  
  32.     private void showResult(final String base, final String msg) {
  33.         mHandler.post(new Runnable() {
  34.  
  35.             @Override
  36.             public void run() {
  37.                 if (mProgressDialog.isShowing())
  38.                     mProgressDialog.dismiss();
  39.                 mBaseMessageText.setText(base);
  40.                 mMessageText.setText(msg);
  41.             }
  42.         });
  43.     }
  44.  
  45.     @Override
  46.     public void onClick(View v) {
  47.         onClickShare();
  48.     }
  49.  
  50.     private class BaseUiListener implements IUiListener {
  51.  
  52.         public void onComplete(Object response) {
  53.             mBaseMessageText.setText("onComplete:");
  54.             mMessageText.setText(response.toString());
  55.             doComplete(response);
  56.         }
  57.         protected void doComplete(Object values) {
  58.         }
  59.  
  60.         @Override
  61.         public void onError(UiError e) {
  62.             showResult("onError:", "code:" + e.errorCode + ", msg:"
  63.                     + e.errorMessage + ", detail:" + e.errorDetail);
  64.         }
  65.         @Override
  66.         public void onCancel() {
  67.             showResult("onCancel", "");
  68.         }
  69.     }
  70.  
  71.     private void initViews() {
  72.         mBaseMessageText = (TextView) findViewById(R.id.base_message_tv);
  73.         mMessageText = (TextView) findViewById(R.id.message_tv);
  74.         qqshare=(Button) findViewById(R.id.qq_share);
  75.  
  76.         qqshare.setOnClickListener(this);
  77.     }
  78.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  79.         if (null != mTencent)
  80.             mTencent.onActivityResult(requestCode, resultCode, data);
  81.     }
  82.  
  83.     private void onClickShare() {
  84.         final Bundle params = new Bundle();
  85.         params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
  86.         params.putString(QQShare.SHARE_TO_QQ_TITLE, "乐计算");
  87.         params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "一款简单的计算工具");
  88.         params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "http://a.app.qq.com/o/simple.jsp?pkgname=com.corel.calc");
  89.         params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL,"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
  90.         params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "乐计算");
  91.         mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
  92.     }
  93. }

 

 

 

2、Androidmanifest.xml代码

里边主要添加代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="com.corele.qqshare">
  4.     <uses-permission android:name="android.permission.INTERNET" />
  5.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  6.     <application
  7.         android:allowBackup="true"
  8.         android:icon="@mipmap/ic_launcher"
  9.         android:label="@string/app_name"
  10.         android:supportsRtl="true"
  11.         android:theme="@style/AppTheme">
  12.         <activity android:name=".MainActivity">
  13.             <intent-filter>
  14.                 <action android:name="android.intent.action.MAIN" />
  15.                 <category android:name="android.intent.category.LAUNCHER" />
  16.             </intent-filter>
  17.         </activity>
  18.         <activity
  19.             android:name="com.tencent.tauth.AuthActivity"
  20.             android:noHistory="true"
  21.             android:launchMode="singleTask" >
  22.             <intent-filter>
  23.                 <action android:name="android.intent.action.VIEW" />
  24.                 <category android:name="android.intent.category.DEFAULT" />
  25.                 <category android:name="android.intent.category.BROWSABLE" />
  26.                 <data android:scheme="tencent1105968442" />
  27.             </intent-filter>
  28.         </activity>
  29.         <activity android:name="com.tencent.connect.common.AssistActivity"
  30.             android:theme="@android:style/Theme.Translucent.NoTitleBar"
  31.             android:configChanges="orientation|keyboardHidden|screenSize"
  32.             />
  33.     </application>
  34.  
  35. </manifest>

33、效果展示

posted @ 2017-02-19 15:13  粥壹  阅读(2813)  评论(0编辑  收藏  举报