`
buerkai
  • 浏览: 170233 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android QQ 分享

 
阅读更多

package com.test.com.liqie;

import org.json.JSONObject;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

import com.tencent.connect.UserInfo;
import com.tencent.connect.common.Constants;
import com.tencent.connect.share.QQShare;
import com.tencent.tauth.IUiListener;
import com.tencent.tauth.Tencent;
import com.tencent.tauth.UiError;
import com.unionpay.UPPayAssistEx;

public class MainActivity extends Activity implements OnClickListener, IUiListener {

 private EditText a1, a2;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  a1 = (EditText) findViewById(R.id.a1);
  a2 = (EditText) findViewById(R.id.a2);
  findViewById(R.id.a3).setOnClickListener(this);
 }

  private String mAppid = "222222";

 private void doQQGetUserInfo(Tencent mTencent) {
  UserInfo userInfo = new UserInfo(this, mTencent.getQQToken());
  userInfo.getUserInfo(new IUiListener() {

   @Override
   public void onError(UiError arg0) {
    System.out.println("QQ2授权错误");

   }

   @Override
   public void onComplete(Object arg0) {
    System.out.println("QQ2OK");
    JSONObject json = (JSONObject) arg0;
    System.out.println(json);
   }

   @Override
   public void onCancel() {
    System.out.println("QQ2授权错误");
   }
  });
 }

 private void doQQAuthor() {
  final Tencent mTencent = Tencent.createInstance(mAppid, this);
  if (!mTencent.isSessionValid() || mTencent.getQQToken().getOpenId() == null) {
   mTencent.login(this, "all", new IUiListener() {

    @Override
    public void onError(UiError arg0) {
     System.out.println("QQ授权错误");
    }

    @Override
    public void onComplete(Object arg0) {
     System.out.println("QQ授权OK=" + arg0);

     try {
      JSONObject jsonObject = (JSONObject) arg0;
      String token = jsonObject.getString(Constants.PARAM_ACCESS_TOKEN);
      String expires = jsonObject.getString(Constants.PARAM_EXPIRES_IN);
      String openId = jsonObject.getString(Constants.PARAM_OPEN_ID);
      if (!TextUtils.isEmpty(token) && !TextUtils.isEmpty(expires) && !TextUtils.isEmpty(openId)) {
       mTencent.setAccessToken(token, expires);
       mTencent.setOpenId(openId);
       doQQGetUserInfo(mTencent);
      }
     } catch (Exception e) {
     }
    }

    @Override
    public void onCancel() {
     System.out.println("取消QQ授权");

    }
   });
  }else{
   mTencent.logout(this);
  }
 }

 private void doQQShare() {
  Tencent mTencent = Tencent.createInstance(mAppid, this);
  Bundle params = new Bundle();
  params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "http://www.baidu.com");
  params.putString(QQShare.SHARE_TO_QQ_TITLE, "花千骨");
  params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, "http://news.cnr.cn/gjxw/gnews/20150626/W020150626218252045101.jpg");
  params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "分享类容奥斯卡奖的看法上课");
  params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "test");
  params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
  params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);
  mTencent.shareToQQ(this, params, this);
 }

 @Override
 public void onCancel() {
  System.out.println("取消了分享");

 }

 @Override
 public void onComplete(Object arg0) {
  System.out.println("分享成功!");

 }

 @Override
 public void onError(UiError arg0) {
  // TODO Auto-generated method stub

 }
}

 

 

 

-----------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.com.liqie"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- SDK2.1新增获取用户位置信息 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tencent222222" />
     <!-- 100380359 100381104 222222 -->
            </intent-filter>
        </activity>
         <activity
            android:name="com.tencent.open.yyb.AppbarActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity android:name="com.tencent.connect.avatar.ImageActivity" />
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    </application>

</manifest>

分享到:
评论

相关推荐

    Android 第三方 qq、微信、微博)分享功能

    腾讯提供了SDK供开发者接入QQ分享功能。首先,你需要在QQ开放平台注册并创建应用,获取到AppID和AppKey。接着,在项目中添加QQ SDK依赖,一般通过Gradle导入: ```groovy dependencies { implementation '...

    Android微信、QQ 等分享demo

    此外,微信和QQ分享可能涉及到用户授权问题。首次分享时,如果用户未授权,SDK会引导用户进行授权操作。因此,你的应用应处理这种情况,确保用户完成授权流程后再尝试分享。 总之,"Android微信、QQ等分享demo"是一...

    android QQ空间分享

    在Android平台上,与QQ空间进行集成,实现分享功能是一项常见的需求。这涉及到Android应用开发、社交网络API调用以及用户交互设计等多个知识点。下面将详细阐述这个过程中的关键技术和步骤。 首先,Android应用开发...

    Android 一键分享到qq空间等

    在Android开发中,实现“一键分享到QQ空间等”功能主要涉及到社交网络集成(Social Network Integration)技术,其中ShareSDK是一个常用的第三方分享组件。本文将详细介绍如何利用ShareSDK实现这一功能,以及涉及到...

    Android只分享一张网络图片至微信QQ

    对于QQ,我们可以使用QQ互联SDK,创建一个QQ分享参数对象QQShareParams,并设置分享的图片URL: ```java QQShareParams params = new QQShareParams(); params.setTitle(""); // 题目要求没有title,所以这里留空 ...

    android手机qq分享demo

    在Android平台上,手机QQ分享功能是一个常见的社交交互方式,它允许用户将应用程序内的内容,如文本、图片、网站链接等信息快速便捷地分享到QQ这个社交网络上。本教程将详细解析如何在Android应用中集成并实现手机QQ...

    android QQ登录分享源码

    接下来是QQ分享功能的实现。同样基于Tencent SDK,分享功能分为两种:一种是通过QQ客户端直接分享,另一种是通过QQ空间分享。 1. 设置分享内容:定义要分享的内容,包括标题、描述、图片、链接等。这些信息将通过`...

    Android-Android分享SDK包括微信朋友圈微博QQQQ空间等渠道分享。

    本文将深入探讨如何在Android项目中使用SDK实现微信、朋友圈、微博、QQ以及QQ空间的分享功能。 首先,我们需要了解什么是SDK(Software Development Kit)。SDK是一系列开发工具的集合,它提供了编写特定平台或应用...

    Android实现QQ和微信分享功能

    对于QQ分享,需要集成Tencent SDK;对于微信分享,则需要集成WeChat SDK。这两个SDK可以通过腾讯开放平台下载得到,包含了必要的jar包和对应的开发者文档。 **QQ分享** 1. **注册应用**:在腾讯开放平台上注册你的...

    Android实现QQ登录、注销、QQ分享,获取QQ用户信息修改QQ头像。有volley网络框架使用和Glide使用网络加载图片,华为推送消息功能。

    QQ分享涉及到的内容可能包括文本、图片、链接等,开发者需要创建分享内容对象,设置分享类型,然后调用QQ SDK的分享接口,确保正确传递分享内容并处理分享结果。 获取和修改QQ用户信息是社交应用中的常见需求。通过...

    android原生分享功能实现

    本文将详细讲解如何实现Android原生分享功能,包括分享到微信、QQ好友以及使用系统级的分享菜单。 首先,我们需要了解Android的Intent机制。Intent是Android系统中用于启动活动(Activity)或服务(Service)的信使...

    android Qzone qq空间 分享

    首先,我们需要在项目的`build.gradle`文件中添加QQ分享SDK的相关依赖。腾讯提供了开放平台SDK,包含QQ登录和分享等功能。添加依赖后,记得同步项目以加载新库。 ```groovy dependencies { // 添加QQ分享SDK依赖 ...

    两行代码实现android中分享

    为了让应用支持更多的分享目标(如微信、QQ、微博等),我们可以使用`Intent.createChooser()`方法来创建一个分享选择器: ```java if (shareIntent.resolveActivity(getPackageManager()) != null) { start...

    Android之第三方平台实现QQ登录和QQ分享

    至于QQ分享功能,可以使用`UIApi`类中的`shareToQQ()`或`shareToQzone()`方法。分享内容可以是文字、图片、链接等,需要构建一个`QQApiInterface#ShareToQQReq`或`QQApiInterface#ShareToQzoneReq`对象。分享过程...

    安卓 android一键分享 新浪微博 腾讯微博,qq空间,qq,人人网

    在安卓(Android)平台上,实现一键分享到不同的社交媒体平台,如新浪微博、腾讯微博、QQ空间、QQ以及人人网,是一项常见的功能需求。开发者通常会利用各种API和SDK来集成这些社交网络的服务,使得用户能够方便地将...

    Android 图片缓存以及转到QQ的

    图片缓存技术知识点,以及跳转到QQ的代码,本人认为对新手小白还是可以的

    分享QQ空间 Android

    【QQ空间Android分享功能详解】 在移动应用开发中,集成社交平台的分享功能已经成为不可或缺的一部分。本示例“分享QQ空间 Android”旨在帮助开发者实现Android应用程序中与QQ空间的无缝对接,让用户能够轻松地将...

    基于Android实现QQ登录.zip

    10. **权限申请**:如果需要访问QQ的更多功能,如发布说说、分享内容等,需要在注册应用时申请相应的权限,并在用户同意后才能调用相关API。 在"基于Android实现QQ登录.zip"的MyApplication文件中,可能包含了完成...

    安卓QQ相关相关-Android--QQ分享.rar

    这个压缩包“Android -- QQ分享.rar”很可能包含了实现这一功能所需的代码示例和文档,虽然没有提供具体的文件内容,但我们可以根据一般情况来探讨相关的知识点。 首先,集成QQ分享功能需要接入QQ SDK。腾讯提供了...

    Sharesdk分享demo,一件分享,微信分享QQ分享

    4. **QQ分享**: QQ同样是腾讯公司的一款广受欢迎的通讯工具。通过Sharesdk,开发者可以实现QQ的分享功能,包括发送文字、图片、音乐、视频等内容到QQ聊天或者QQ空间。这对于拥有大量QQ用户的app来说,是一个非常...

Global site tag (gtag.js) - Google Analytics