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>

更多相关文章

  1. 【学习Android遇到的错误】关于Unable to instantiate activity
  2. 【android错误收集】android.view.InflateException
  3. android取得当前网络连接状态
  4. Android(安卓)Studio 使用中 遇到的那些奇奇怪怪的问题
  5. android个人错误,持续更新
  6. android 捕捉app错误信息
  7. Android(安卓)studio 常见错误以及问题
  8. Android(安卓)WebView 使用方法,可以解决web视频播放层级问题。
  9. Android(安卓)报错 FLAG_ACTIVITY_NEW_TASK flag

随机推荐

  1. Android(安卓)网络状态实时监测
  2. android Beam
  3. Android系统信息(内存、cpu、sd卡、电量、
  4. Android(安卓)调用系统相机拍照保存以及
  5. 学习笔记----Android的对话框
  6. tabactivty中加入地图
  7. Android(安卓)分割线
  8. BlackBerry SIP VOIP softPhone, open so
  9. 分享Android入门学习资料
  10. android > Spinner ( 下拉列表 )