腾讯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. hibernate 三种状态的转换

    一.遇到的神奇的事情 使用jpa操作数据库,当我使用findAll()方法查处一个List的对象后,给对这个list的实体进行了一些操作,并没有调用update 或者 saveOrUpdate方法,更 ...

  2. java日期处理函数

    java中获取本年第一天的日期 public static Timestamp getYearFirstDay() { Calendar calendar = Calendar.getInstance ...

  3. resin远程调试配置,connection refused问题解决

    http://john521.iteye.com/blog/1879805 这篇博客中讲的很好. 我在配置的过程中遇到了几个问题,记录一下: 1. 调试服务器监听的端口号,百度的开发机都限制了端口在某 ...

  4. linux 根分区扩展

    linux根分区扩容 今天网站上传图片出问题了,一开始还以为是程序问题,后来发现原来是服务器存储空间不够,明明有200G的磁盘空间,没理由这么快就用完,查了一下分区情况,原来有两块磁盘,根分区只挂载在 ...

  5. .Net轻量级ORM-NPoco的使用方法-摘自NPoco国外官方Wiki

    文章引用自NPoco官方Wiki,地址:https://github.com/schotime/NPoco/wiki,因公司网络不稳定,有时无法访问,特将其摘抄. Home Adam Schroder ...

  6. 时间相关库<ctime>解析

    原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5649487.html 一.定义的类型 1.clock_t:时钟类型 2.size_t:unsign ...

  7. fastlane安装流程和fastlane match同步证书和PP文件方法

    分步指南 安装fastlane:  ① Make sure you have the latest version of the Xcode command line tools installed: ...

  8. UNIX基础上

    时光飞逝,转眼已经毕业快2年了,觉得自己学的东西多却不精.对此深深的思考一下,觉得有必要连载unix环境编程文章,以此激励自己学习.在此立贴为证,2天一篇博客从零开始阐述unix的环境编程. 参考书籍 ...

  9. 深入探究stm32GPIO口模式(类比51)

    关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1.浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时 ...

  10. 老李分享:Uber究竟是用什么开发语言? 2

    Uber的任务分派系统是运行在Node上,这是一个运行在服务器端的JavaScript平台.当一个客户打开app或者网站来进行车辆预定或者调用其他的API来查看可用车辆信息的时候,大部分的这些服务都是 ...