公司做的电商APP,现在要加入联系客服功能,起初想的是做一个即时聊天系统,以前没做过,这两天开始恶补,后来需求变了,改成调用QQ开放平台,做一个临时会话就行了,这就省了不少力气,也不需要再去组件服务端了。
步骤:
1.引用QQ SDK源码文件。
创建一个工程,并把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目录下,如下图所示:
选中open-sdk.jar和mta_sdk_x.x.x.ja,右键菜单中选择Build Path, 选择Add to Build Path
2.给应用的AndroidManifest增加SDK需要的配置;
在应用的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.connect.common.AssistActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:screenOrientation="portrait"/> <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>
其中,如果你已经添加了"android.permission.INTERNET"和"android.permission.ACCESS_NETWORK_STATE"权限,则无需重复添加。
而"你的AppId"则要替换成具体应用的AppId,例如你的AppId是"222222",则<data>标签应该是这样的:
<data android:scheme="tencent222222" />
String text = (String) tittle.getText(); QQAuth mqqAuth = QQAuth.createInstance("10000000", mContext); // 10000000为你申请的APP_ID,mContext是上下文 WPA mWPA = new WPA(this, mqqAuth.getQQToken()); String ESQ = "512821255"; //512821255为客服QQ号 int ret = mWPA.startWPAConversation(ESQ, "你好,我正在乐宠看这个商品~\n"+text); //客服QQ if (ret != 0) { //如果ret不为0,就说明调用SDK出现了错误 Toast.makeText(getApplicationContext(), "抱歉,联系客服出现了错误~. error:" + ret, Toast.LENGTH_LONG).show(); }
Android借用QQ开放平台,简单实现联系客服功能,布布扣,bubuko.com
原文地址:http://blog.csdn.net/mmovve/article/details/32711471