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>
相关推荐
腾讯提供了SDK供开发者接入QQ分享功能。首先,你需要在QQ开放平台注册并创建应用,获取到AppID和AppKey。接着,在项目中添加QQ SDK依赖,一般通过Gradle导入: ```groovy dependencies { implementation '...
此外,微信和QQ分享可能涉及到用户授权问题。首次分享时,如果用户未授权,SDK会引导用户进行授权操作。因此,你的应用应处理这种情况,确保用户完成授权流程后再尝试分享。 总之,"Android微信、QQ等分享demo"是一...
在Android平台上,与QQ空间进行集成,实现分享功能是一项常见的需求。这涉及到Android应用开发、社交网络API调用以及用户交互设计等多个知识点。下面将详细阐述这个过程中的关键技术和步骤。 首先,Android应用开发...
在Android开发中,实现“一键分享到QQ空间等”功能主要涉及到社交网络集成(Social Network Integration)技术,其中ShareSDK是一个常用的第三方分享组件。本文将详细介绍如何利用ShareSDK实现这一功能,以及涉及到...
对于QQ,我们可以使用QQ互联SDK,创建一个QQ分享参数对象QQShareParams,并设置分享的图片URL: ```java QQShareParams params = new QQShareParams(); params.setTitle(""); // 题目要求没有title,所以这里留空 ...
在Android平台上,手机QQ分享功能是一个常见的社交交互方式,它允许用户将应用程序内的内容,如文本、图片、网站链接等信息快速便捷地分享到QQ这个社交网络上。本教程将详细解析如何在Android应用中集成并实现手机QQ...
接下来是QQ分享功能的实现。同样基于Tencent SDK,分享功能分为两种:一种是通过QQ客户端直接分享,另一种是通过QQ空间分享。 1. 设置分享内容:定义要分享的内容,包括标题、描述、图片、链接等。这些信息将通过`...
本文将深入探讨如何在Android项目中使用SDK实现微信、朋友圈、微博、QQ以及QQ空间的分享功能。 首先,我们需要了解什么是SDK(Software Development Kit)。SDK是一系列开发工具的集合,它提供了编写特定平台或应用...
对于QQ分享,需要集成Tencent SDK;对于微信分享,则需要集成WeChat SDK。这两个SDK可以通过腾讯开放平台下载得到,包含了必要的jar包和对应的开发者文档。 **QQ分享** 1. **注册应用**:在腾讯开放平台上注册你的...
QQ分享涉及到的内容可能包括文本、图片、链接等,开发者需要创建分享内容对象,设置分享类型,然后调用QQ SDK的分享接口,确保正确传递分享内容并处理分享结果。 获取和修改QQ用户信息是社交应用中的常见需求。通过...
本文将详细讲解如何实现Android原生分享功能,包括分享到微信、QQ好友以及使用系统级的分享菜单。 首先,我们需要了解Android的Intent机制。Intent是Android系统中用于启动活动(Activity)或服务(Service)的信使...
首先,我们需要在项目的`build.gradle`文件中添加QQ分享SDK的相关依赖。腾讯提供了开放平台SDK,包含QQ登录和分享等功能。添加依赖后,记得同步项目以加载新库。 ```groovy dependencies { // 添加QQ分享SDK依赖 ...
为了让应用支持更多的分享目标(如微信、QQ、微博等),我们可以使用`Intent.createChooser()`方法来创建一个分享选择器: ```java if (shareIntent.resolveActivity(getPackageManager()) != null) { start...
至于QQ分享功能,可以使用`UIApi`类中的`shareToQQ()`或`shareToQzone()`方法。分享内容可以是文字、图片、链接等,需要构建一个`QQApiInterface#ShareToQQReq`或`QQApiInterface#ShareToQzoneReq`对象。分享过程...
在安卓(Android)平台上,实现一键分享到不同的社交媒体平台,如新浪微博、腾讯微博、QQ空间、QQ以及人人网,是一项常见的功能需求。开发者通常会利用各种API和SDK来集成这些社交网络的服务,使得用户能够方便地将...
图片缓存技术知识点,以及跳转到QQ的代码,本人认为对新手小白还是可以的
【QQ空间Android分享功能详解】 在移动应用开发中,集成社交平台的分享功能已经成为不可或缺的一部分。本示例“分享QQ空间 Android”旨在帮助开发者实现Android应用程序中与QQ空间的无缝对接,让用户能够轻松地将...
10. **权限申请**:如果需要访问QQ的更多功能,如发布说说、分享内容等,需要在注册应用时申请相应的权限,并在用户同意后才能调用相关API。 在"基于Android实现QQ登录.zip"的MyApplication文件中,可能包含了完成...
这个压缩包“Android -- QQ分享.rar”很可能包含了实现这一功能所需的代码示例和文档,虽然没有提供具体的文件内容,但我们可以根据一般情况来探讨相关的知识点。 首先,集成QQ分享功能需要接入QQ SDK。腾讯提供了...
4. **QQ分享**: QQ同样是腾讯公司的一款广受欢迎的通讯工具。通过Sharesdk,开发者可以实现QQ的分享功能,包括发送文字、图片、音乐、视频等内容到QQ聊天或者QQ空间。这对于拥有大量QQ用户的app来说,是一个非常...