1.下载官方的数据包 http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDK包
2.导入SDK包:
解压Android_SDK_V2.6 ,把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目录下 。如下:
3.配置AndroidManifest
在应用的AndroidManifest.xml增加配置的<application>节点下增加以下配置(注:不配置将会导致无法调用API);
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application> <activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" > <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="tencent你的AppId" /> </intent-filter> </activity> <application>
SDK_V2.0引入了AssistActivity,开发者需在androidManifest.xml中注册。代码如下:
<activity android:name="com.tencent.connect.common.AssistActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize" />
4.实现分享功能
1.在你要调用分享的Activity的onCreate里
mTencent = Tencent.createInstance(APP_ID, this.getApplicationContext());
所有的SDK接口调用,都会传入一个回调,用以接收SDK返回的调用结果。回调的主要接口有两种:
Listener" id="2.1_.E5.AE.9E.E7.8E.B0.E5.9B.9E.E8.B0.83_IUiListener" style="color:rgb(95,148,10); font-family:'Microsoft Yahei',helvetica,'Lucida Grande',Tahoma,Verdana,Simsun,Arial,Clean; line-height:15px">
调用SDK已经封装好的接口时,例如:登录、快速支付登录、应用分享、应用邀请等接口,需传入该回调的实例。
IUiListener的实现示例代码如下:
private class BaseUiListener implements IUiListener { @Override public void onComplete(JSONObject response) { mBaseMessageText.setText("onComplete:"); mMessageText.setText(response.toString()); doComplete(response); } protected void doComplete(JSONObject values) { } @Override public void onError(UiError e) { showResult("onError:", "code:" + e.errorCode + ", msg:" + e.errorMessage + ", detail:" + e.errorDetail); } @Override public void onCancel() { showResult("onCancel", ""); } }
好了 可以实现分享了
1.QQ好友分享实现
分享消息到QQ的接口,可将新闻、图片、文字、应用等分享给QQ好友、群和讨论组。Tencent类的shareToQQ函数可直接调用,不用用户授权
(使用手机QQ当前的登录态)。调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。
本接口支持3种模式,每种模式的参数设置不同,下面分别进行介绍:
(1) 分享图文消息
调用分享接口的示例代码如下:
private void onClickShare() { final Bundle params = new Bundle(); params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT); params.putString(QQShare.SHARE_TO_QQ_TITLE, "要分享的标题"); params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "要分享的摘要"); params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "http://www.qq.com/news/1.html"); params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL,"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif"); params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用222222"); params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, "其他附加功能"); mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener()); }
2.QQ空间分享实现
完善了分享到QZone功能,分享类型参数Tencent.SHARE_TO_QQ_KEY_TYPE,目前只支持图文分享。Tencent.
shareToQzone()函数可直接调用,不用用户授权(使用手机QQ当前的登录态)。调用后将打开手机QQ内QQ空间的界面,或者用浏览器打开QQ
空间页面进行分享操作。
示例代码如下:
private void shareToQzone () { //分享类型 params.putString(QzoneShare.SHARE_TO_QQ_KEY_TYPE,SHARE_TO_QZONE_TYPE_IMAGE_TEXT ); params.putString(QzoneShare.SHARE_TO_QQ_TITLE, "标题");//必填 params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "摘要");//选填 params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL, "跳转URL");//必填 params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL, "图片链接ArrayList"); mTencent.shareToQzone(activity, params, new BaseUiListener()); }
应用调用Andriod_SDK接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { mTencent.onActivityResult(requestCode, resultCode, data); }