【腾讯开放平台】Android、IOS实现指定QQ临时会话功能
腾讯开放平台提供了WPA接口,能够实现对于普通用户,无需加其好友就能和其发起临时会话(但是对于400开头的企业QQ号,如Mob平台的企业QQ:4006852216 ,必须先加其好友才能实现临时会话),官方文档如下:
http://wiki.open.qq.com/index.php?title=Android_API调用说明&=45038#2._WPA.E6.8E.A5.E5.8F.A3
对于使用Mob平台的ShareSDK的Android开发者,ShareSDK目前暂不支持腾讯开放平台的WPA接口功能,但是可以通过url中的scheme协议实现。
Android平台:
- String url="mqqwpa://im/chat?chat_type=wpa&uin=957269193";
- startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
IOS平台:
- UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
- NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&uin=957269193&version=1&src_type=web"];
- NSURLRequest *request = [NSURLRequest requestWithURL:url];
- webView.delegate = self;
- [webView loadRequest:request];
- [self.view addSubview:webView];
JS浏览器:
- <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=592333407&site=qq&menu=yes">click here</a>
注意事项:
1. 如果使用当前版本的Android ShareSDK提供的API判断手机端是否安装了某社交平台客户端,必须在ShareSDK.xml文件的相应平台下配置enable属性为true,如微信:
- Id="1"
- SortId="1"
- AppId="******"
- AppSecret="*******"
- BypassApproval="false"
- Enable="true" />
此时,ShareSDK默认分享界面中将会出现相应社交平台,如果不需要显示,可以在调用分享时使用如下代码屏蔽:
- OnekeyShare oks = new OnekeyShare();
- oks.addHiddenPlatform(QQ.NAME);
另外,在使用ShareSDK.getPlatform(QQ.NAME).isClientValid()判断手机端是否安装QQ时,容易出现问题,该api接口始终返回false,所以只能使用Android平台的packageManager来进行判断,Android版手机QQ的包名为:com.tencent.mobileqq,代码如下:
- /**
- * 判断手机设备是否安装指定包名的apk应用程序
- * @param context
- * @param packageName
- * @return
- */
- public static boolean isSpecialApplInstalled(Context context, String packageName) {
- PackageManager packageManager = context.getPackageManager();
- try {
- packageManager.getPackageInfo(packageName, 0);
- return true;
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- return false;
- }
2. 使用url的scheme方法调用QQ客户端并与指定QQ聊天功能时,目前发现两个因素会导致偶尔发送QQ消息失败并提示必须先添加好友:
第一,手机QQ版本问题:手机版本低了不行,目前最新版本是5.8.0.2505
第二,QQ号问题:企业QQ和个别个人QQ不行......
补充:以上两点也不是很准确,因为实际测试过程中发现,偶尔可以偶尔不可以,也许QQ的临时会话功能不太稳定......
拓展链接:
QQ推广官网:营销QQ的做法
手机端直接调用的JS:http://m.vcooline.com/91516/channel/1185266#mp.weixin.qq.com,如
[html] view plaincopy
- <!DOCTYPE html>
- <html>
- <body>
- <div id="launch_qq">客服QQ</div>
- <script charset="utf-8" src="http://wpa.b.qq.com/cgi/wpa.php"></script>
- <script>
- BizQQWPA.addCustom({aty: '0', a: '0', nameAccount: 957269193, selector: 'launch_qq'});
- </script>
- </body>
- </html>
可以通过手机端直接调用JS。
参考一个库Rhino,使用案例如:【Android】不使用WebView来执行Javascript脚本(Rhino)
【腾讯开放平台】Android、IOS实现指定QQ临时会话功能相关推荐
- android app在腾讯开放平台认领应用给空白包签名
http://www.zhimengzhe.com/Androidkaifa/5022.html 前言:之前公司app在腾讯开放平台认领应用时,涉及了一个问题:就是给空白包签名.然后再上传上去审核. ...
- 腾讯开放平台创建应用的坑,安卓和iOS端如何共用同一个Appid?
很多人遇到一种情况,就是自己的应用使用QQ登录的时候,在不同客户端,返回的openid竟然不一样,导致统一个用户在不同客户端创建了不同的账号. 这时候有两种解决方法: 第一种:需要发邮件给腾讯开放平台 ...
- Android腾讯开放平台应用认领
安卓应用腾讯平台认领发布 之前一个项目在做完多渠道打包完成之后向各大平台发布应用,360,小米都没问题,在腾讯开放平台上发布应用时提示应用已存在,当时整个人就懵逼了,后来无奈按照官方的提示进行应用认领 ...
- 解决Android下QtQuick.LocalStorage和腾讯开放平台组件冲突问题
解决Android下QtQuick.LocalStorage和腾讯开放平台组件冲突问题 已经有将近一个月没有写博客了,其实这段时间还是非常努力地进行开发的活动.最近也是在开发的过程中遇到了好一些问题, ...
- 腾讯开放平台的应用认领,问题和命令操作记录(MacOS下,Win同理)
腾讯开放平台的应用接入,可以接入应用宝.QQ物联等平台,为开发者提供发布和推广应用的渠道. 近日,笔者在腾讯开放平台上新增一个应用,出现已有相同应用存在的提示,并且平台提示进行应用认领,笔者在应用宝市 ...
- cordova项目打包并更新腾讯开放平台安装包、加固重新签名步骤
打包apk 1.在webstorm中打开cordova项目,执行 cordova build android 这样会生成debug版的apk. 2.打包完成后会提示输出目录 一般是: /项目根目录/p ...
- qqp2011java_腾讯开放平台中实现QQ登陆的功能
昨天为自己的网站实现了QQ登陆的功能,虽然,没有进行绑定,但是在技术层面上来说,已经了解了一点腾讯开放平台的协议. 具体什么是OAUTH,请您GG一下吧... 关于腾讯的开放平台,最主要的就是参数一定 ...
- 微信开放平台Android应用的签名
微信开放平台Android应用签名的本质便是我们签名文件keystore的MD5值. keytool -list -v -keystore qj_test.keystore 获得: 别名: naoli ...
- 【二维码】新浪开放平台和腾讯开放平台试水
尝试在新浪开放平台和腾讯开放平台修改应用.初步尝试了下,发现新浪的流程和步骤十分清晰,可是到腾讯,就傻眼了. 光平台,就有下面三个,尼玛,这不是坑爹嘛!新旧平台,新旧流程,新旧接口,在加上有空间,微博 ...
最新文章
- linux命令2--cd和pwd
- 音频数据建模全流程代码示例:通过讲话人的声音进行年龄预测
- 语音任务关键--噪声未必能听得到
- jQuery接收后台返回的数据
- Java集合篇:集合类介绍
- Hibernate性能提升
- 采购光纤收发器时应该注意哪些事项?
- python字符串只留数字_Python数字和字符串(5/30)
- WinEdt LaTex(三)—— 宏包
- mysql执行程序_Sql在Mysql的执行
- Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
- python课程第三周小结_python周报第三周
- grep awk sed 练习题
- GB28181国标流媒体服务(LiveGBS)-支持海康8700等联网网关通过接入实现web端无插件直播
- 【QT】FillRect填充的区域实现部分区域透明
- VNCTF2021 几个题解writeup
- 磁盘的扩展卷和压缩卷显示灰色,无法使用
- 如何在Win10不同设备之间同步便签
- 逻辑回归和决策树_结合逻辑回归和决策树
- 深信服“监控员工跳槽倾向”引争议,律师称未告知员工涉嫌违法
热门文章
- SpringBoot 接口层统一加密解密
- 学习日志0820类的继承
- 大学生个人网页模板 简单网页制作作业成品 (响应式明星防弹少年团7页)
- Python开多次方根
- 2014 年终总结:即使艰难,也要始终怀揣梦想
- android xmlpullparser 编译出错,将Android支持库更新为23.2.0导致错误:XmlPullParserException...
- mmdetection 环境配置与简单测试(mmrotate同理)
- 链路聚合-LACP模式
- java毕业设计医生在线诊所平台Mybatis+系统+数据库+调试部署
- threejs-绘制剖切面