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、效果展示

  • 相关阅读:
    希望走过的路成为未来的基石
    第三次个人作业--用例图设计
    第二次结对作业
    第一次结对作业
    第二次个人编程作业
    第一次个人编程作业(更新至2020.02.07)
    Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限
    springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
    spring cloud springboot 框架源码 activiti工作流 前后分离 集成代码生成器
    java代码生成器 快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码
  • 原文地址:https://www.cnblogs.com/dm00/p/6415896.html
Copyright © 2011-2022 走看看