腾讯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. Oracle安装错误ora-00922(zhuan)

    Oracle安装错误ora-00922(缺少或无效选项) (2012-03-19 10:49:27) 转载▼ 标签: 杂谈   安装Oracle 11g R2的过程中,在新建数据库实例时出现了该错误, ...

  2. 软件设计师.NET认证考试测试卷(试题及答案)

    软件设计师.NET认证考试测试卷 注意事项:用蓝.黑色钢笔答题.保持卷面整洁. 得分 阅卷人 一.单项选择(40分,每小题1分) 1.以下标识符中不全是关键字的是(D  ) A.case for in ...

  3. oracle 常用函数汇总

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

  4. SQL-记录修改篇-008

    修改记录: update table_name  as  a set  a.type = ‘青年' where a.age>18  and  a.age<40 解释:将表中age字段大于1 ...

  5. MySQL 5.7 传统复制到GTID在线切换

    来源:http://wubx.net/ 联系方式: wubingxi#163.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 前题: 要求MySQL 5.7.6及以后版本. 所有组 ...

  6. mysql 5.6二进制安装

    1.  进入用户家目录创建tools文件夹 # cd ~ #mkdir tools 2.下载MySQL5.6二进制包(搜狐镜像里有各版本下载http://mirrors.sohu.com/mysql/ ...

  7. whistle.js连接ios手机中https步骤

    1:对于安卓直接扫码安装https的证书: 对于ios  连接电脑发出的wifi,打开whistle,配置代理之后(一定要保证先链接电脑发出的wifi,且配置代理) 用Safari打开网址:http: ...

  8. 数据库类型空间效率探索(四)-tinyint与enum与set

    mysql> select count(*) from userinfo;+----------+| count(*) |+----------+| 115597 |+----------+1 ...

  9. C# 托管资源 与 非托管资源

    C# 托管资源 与 非托管资源 托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,.NET可以自动进行回收,主要是指托管堆上分配的内存资源.例如程序中分配的对象,作用域内的变量 ...

  10. Linux汇编教程01: 基本知识

    在我们开始学习Linux汇编之前,需要简单的了解一下计算机的体系结构.我们不需要特别深入的了解,理解了一些基本概念对与我们理解程序会很有帮助.现在计算机的结构体系都是采用冯诺依曼体系结构的基础上发展过 ...