`
buerkai
  • 浏览: 166927 次
  • 性别: 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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics