腾讯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("",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、效果展示

腾讯QQAndroid API调用实例(QQ分享无需登录)的更多相关文章

  1. 腾讯地图 API 调用入门

    本文仅为腾讯地图 API 调用入门,如需进阶学习,请在腾讯位置服务网站上进行学习. 登陆网址 https://lbs.qq.com/ 点击右上角的登陆按钮,需要进行注册按照流程进行就好. 完成之后,选 ...

  2. 百度地图API调用实例之地址标注与位置显示

    之前弄了个谷歌地图API标注的调用实例,后来要求改成百度地图. 感谢主,通过网上资料(百度地图API,百度地图API详解之地图标注)收集及研究, 终于把百度地图标注和显示功能实现出来了,具体实现方法如 ...

  3. c#调用腾讯云API的实例

    //获取时间戳 .net framework /* DateTime dt = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1 ...

  4. Python3 下实现 腾讯人工智能API 调用

    1.背景 a.鹅厂近期发布了自己的人工智能 api,包括身份证ocr.名片ocr.文本分析等一堆API,因为前期项目用到图形OCR,遂实现试用了一下,发现准确率还不错,放出来给大家共享一下. b.基于 ...

  5. 百度API调用实例

    今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...

  6. H5Plus 入门学习-Dcloud H5+ API调用实例

    使用API Reference完整简单的操作,更多操作查看官方文档. 最后提供项目的下载地址[下载][一款移动APP演示]

  7. android 集成QQ互联 (登录,分享)

    参考:http://blog.csdn.net/syz8742874/article/details/39271117 http://blog.csdn.net/woblog/article/deta ...

  8. .NET调用腾讯云API实例

    最近项目有用到腾讯云的身份识别接口,话不多说,直接上代码: private void IDCardVerification(HttpContext context) { string imgStr = ...

  9. 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址

    简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...

随机推荐

  1. Android7.0 Phone应用源码分析(四) phone挂断流程分析

    电话挂断分为本地挂断和远程挂断,下面我们就针对这两种情况各做分析 先来看下本地挂断电话的时序图: 步骤1:点击通话界面的挂断按钮,会调用到CallCardPresenter的endCallClicke ...

  2. python 解析Excel

    python 解析Excel 公司背景:好吧LZ太懒了.略... 原由起因:公司老板发话要导出公司数据库中符合条件的数据,源数据有400万,符合条件的大概有70万左右吧. 最终目的:符合条件的数据并生 ...

  3. 单发邮箱 群发邮箱 程序 Email winform

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  4. ASP.NET Core:使用Dapper和SwaggerUI来丰富你的系统框架

    一.概述 1.用VS2017创建如下图的几个.NET Standard类库,默认版本为1.4,你可以通过项目属性进行修改,最高支持到1.6,大概五月份左右会更新至2.0,API会翻倍,很期待! 排名分 ...

  5. unity3D插件开发——前篇

    Unity3D(以下简称Unity)是今年来非常流行的游戏开发引擎.他不仅有足够和unreal(虚幻)引擎媲美的渲染效果,足够多的平台输出,更为突出的就是Unity本身的编辑器.unity本身除了使用 ...

  6. Windows 10 系统Microsoft Edge的使用手册

    Windows 10 默认浏览器(Edge)使用手册 体验网络有了一种新的方法.只有在 Windows 10 上才能找到它. 下面详细介绍一下Edge浏览器的使用规范: 一.打开Windows10系统 ...

  7. Codeforces 765E. Tree Folding [dfs][树形dp]

    题解:先从节点1开始dfs.对于每一个节点,用一个set记录:以该点为根的子树的深度. a) 如果此节点的某个子节点打出了GG,则此节点直接打出GG. b) 若set的元素个数<=1,那么,以该 ...

  8. 分布式统一配置平台-Disconf.Net

    源码地址:https://github.com/qkbao/Disconf.Net 作者:青客宝  联系qq:后续奉上 为了更好的解决分布式环境下多台服务实例的配置统一管理问题,本文提出了一套完整的分 ...

  9. 什么东西那么吸引别人的眼球!! -----------------------------------for循环

    认识for循环结构 在编码过程中,把一些重复执行代码采用循环结构进行描述,可以大大减化编码工作, 使得代码更加简洁.宜都... 1.     为什么要用for? 比如: 老师叫小明统计全班人的编号,小 ...

  10. 1164: 零起点学算法71——C语言合法标识符(存在问题)

    1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 10 ...