zoukankan      html  css  js  c++  java
  • 腾讯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、效果展示

  • 相关阅读:
    less学习二---变量
    less学习一
    canvas+javascript实现淘宝商品放大镜效果
    webstorm报错Unescaped xml character解决方案1
    javascript getBoundingClientRect()获取元素四个边相对于窗口或文档的位置
    chorme浏览器不支持audio/video中的autoplay属性的解决方法
    html5中audio支持音频格式
    每天一个JS 小demo之通过事件委托实现菜单展开及选中特效。主要知识点:事件
    每天一个JS 小demo之滑屏幻灯片。主要知识点:event
    每天一个JS 小demo之“拖拽”效果的实现。主要知识点:event
  • 原文地址:https://www.cnblogs.com/dm00/p/6415896.html
Copyright © 2011-2022 走看看