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、微信、微博)分享功能 绝对可靠 已在实战中应用
适合于 微信 新浪 QQ 等各种分享,是一款第三方的分享平台demo
Android分享网络图片至微信QQ,只是分享一张网络图片至微信QQ的功能(没有title,没有content,只有网络url)
一个简单粗糙的关于QQ空间的分享!
根据ShareSDK提取出单纯的分享到各SNS平台
Android分享SDK,包括微信、朋友圈,微博,QQ,QQ空间等渠道分享。
实现手机qq分享app应用,图片,网站链接等信息
Android实现QQ和微信分享功能,支持微信好友、微信朋友圈、QQ好友、QQ空间分享功能。我的博客地址:https://blog.csdn.net/k571039838k
Android APP实现QQ登录、注销、QQ分享,获取QQ用户信息修改QQ头像等。有volley网络框架使用和Glide使用网络加载图片,华为推送消息功能。
使用android原生的分享微信,qq好友,以及更多分享
最新能用的QQ登录分享源码2016.8.3
安卓 android一键分享 新浪微博 腾讯微博,qq空间,qq,人人网
图片缓存技术知识点,以及跳转到QQ的代码,本人认为对新手小白还是可以的
android开发分享到第三方平台(新浪微博,人人,qq空间,微信),其中新浪微博,人人,qq等直接分享即可,微信则需要到微信开放平台申请,通过后才能分享。如果要增加其他平台的分享,修改shareSDK.xml文件即可,将想...
在开发APP过程中,都需要实现分享转发,分享到QQ、微信等,我使用的是安卓系统自带的shareAPI,可以直接通过ResolveInfo获取手机中所有提供分享接口的应用,从而实现分享功能。 具体实现,请看博客文章: ...
android 分享,可以分享新浪微博,腾讯微博,QQ好友,QQ空间,微信好友,微信圈,短信,邮件等
android一键分享SDK,包含微信,朋友圈,微博,QQ等
Sharesdk分享demo,支持一件分享,微信分享、QQ分享、分享到朋友圈,新浪微博分享
完整代码,可以直接嵌进自己的项目中,分享的完美实现
Android实现QQ和微信分享功能,支持微信好友、微信朋友圈、QQ好友、QQ空间分享功能