QQ加加对方好友一直是等待验证为何总显示添加失败呢?

Corecallback(handler, deleteOnExec, execOnNewThread)
>= IOS 4.2
>= Android 4.2
使用说明 : 用于生成回调名字,跟着 invoke 的参数传给客户端,客户端执行回调时,根据该回调名字找到相应的回调处理函数并执行
警告:
如果在 UI 相关接口的回调中调用 alert 等 UI 接口,会导致 WebView 假死,只能关进程处理
严重: 如果在接口 A 的回调中继续调用接口 B,接口 B 的调用可能会无效亦或者返回结果不正确
参数
名称
类型
描述
handler()
Function
必选:是
说明:接口的回调处理函数
deleteOnExec()
Boolean
必选:否
说明: 若为 true 则执行完该回调之后删除之,用于防止同一个回调被多次执行(某些情况下有用)
execOnNewThread()
Boolean
必选:否
说明: 若为 true 则在另一个线程执行回调,IOS 中,以下两种场景须指定该参数为 true
默认值:true
Example
var callbackName = mqq.callback(function(type, index){
console.log("type: " + type + ", index: " + index);
});
//弹出 ActionSheet
mqq.invoke("ui", "showActionSheet", {
"title" : "title",
"items" : ["item1", "item2"],
"cancel" : "cancel",
"close" : "close",
"onclick": callbackName
}
support
>= IOS 5.5 >= Android 5.5
使用说明 : 检测客户端是否支持API
参数
名称
类型
必选
描述
APIName
string

API名字,如mqq.ui.openUrl
返回值
类型
描述
Boolean
说明: 是否支持API
Example
if(mqq.support("mqq.ui.topicSend")) {
} else {
}
DatasetClipboard
>= IOS 4.7.2 >= android 4.7.2
使用说明 : 复制内容到剪贴板,目前支持纯文本
setClipboard(params, callback)
params -- Objecttext -- String 必选 被复制的内容
callback(result) -- Function 必选 回调result -- Boolean 必选 true:复制成功;false:复制失败
Example
mqq.data.setClipboard({
text: 'CDKEY'
},function(result){
if(result){
alert('复制成功');
}else{
alert('复制失败');
}
});
getPageLoadStamp
>= IOS 5.5 >= Android 5.5
使用说明 : 返回【创建 WebView 】到 【 WebView 开始加载url】间的时间点
返回值
名称
类型
描述
ret
Number
说明: 返回码,0为成功
onCreateTime
Number
说明:开始创建 WebView 的时间戳
startLoadUrlTime
Number
说明: 开始加载 url 的时间戳
url
String
说明: WebView 最初加载的 url
Example
mqq.invoke('data', 'getPageLoadStamp',function(evt){
alert(JSON.stringify(evt.data));
});
getPerformance
>= IOS 5.5 >= Android 5.5
使用说明 : 获取Performance数据,得到webveiw的各个时间点
警告:
该接口只能在onload()之后调用
返回值
名称:result
类型:Number
描述:返回码。-1:错误,0:成功;
名称:message
类型:String
描述:具体错误信息
名称:data
类型:Object
描述:数据对象如下
clickStart
Number
说明: 单击按钮的瞬间时间戳,单位毫秒;
pageStart
Number
说明: Web 页面开始加载的时间戳,单位毫秒;
pageFinish
Number
说明: Web 页面完成加载的时间戳,单位毫秒;
Example
mqq.invoke('data', 'getPerformance',function(evt){
alert(JSON.stringify(evt.data));
});
readH5Data
>= IOS 5.5 >= Android 5.5
使用说明 : webview数据存储读
返回值
名称:obj
一级对象
名称:code
类型:int
描述:可选值:
-0: 操作成功
-2: JSON数据格式有误
-3: 参数不能为空
-5: 没有权限操作该域的数据
-6: path不能为空
-7: key不能为空
-8: data不能为空
-9: 空间不足或不存在SD卡
-11: 读取不到任何数据
-12: 写入数据量过大
名称:data
类型:Object
描述:数据对象如下callid //写入时传入,用于区分业务id
data //返回的string数据
Example
var obj = {
callid:200, //用来标示请求id, 返回时把该值传回
host:"qzs.qq.com",//如果host不为空, 且是该页面的域名的父域名, 则往host写, 如果为空则往页面的域名写, 其他为错误
path:"test",//区分业务
key:"key1",//数据对应的key
};
mqq.invoke("data","readH5Data",obj,function(re){
console.log(re);
});
writeH5Data
>= IOS 5.5 >= Android 5.5
使用说明 : webview数据存储写
返回值
名称:obj
一级对象
名称:code
类型:int
描述:可选值:
-0: 操作成功
-2: JSON数据格式有误
-3: 参数不能为空
-5: 没有权限操作该域的数据
-6: path不能为空
-7: key不能为空
-8: data不能为空
-9: 空间不足或不存在SD卡
-11: 读取不到任何数据
-12: 写入数据量过大
名称:data
类型:Object
描述:数据对象如下callid //写入时传入,用于区分业务id
Example
var obj = {
callid:200, //用来标示请求id, 返回时把该值传回
host:"qzs.qq.com",//如果host不为空, 且是该页面的域名的父域名, 则往host写, 如果为空则往页面的域名写, 其他为错误
path:"test",//区分业务
key:"key1",//数据对应的key
data:"test Data"
};
mqq.invoke("data","writeH5Data",obj,function(re){
console.log(re);
});
DevicegetDeviceInfo
>= IOS 5.5 >= Android 5.5
使用说明 : 获取设备信息
返回值
名称
类型
必选
描述
systemName
String

系统名,如"iPhone OS"
systemVersion
String

系统版本,如"6.0"
model
String

机器系列,如"iPhone", "iPod touch"
modelVersion
String

机型,如"iPhone 6"
identifier
String

设备唯一标识,Android端获取的是IMEI码,IOS端获取到的是根据IMEI码加密之后,并且每个APP获取到的均不同
Example
mqq.invoke('device', 'getDeviceInfo', function(data){
console.log(data);
});
getNetworkType
>= IOS 4.5 >= android 4.6
使用说明 : 获取网络类型
getNetworkType(callback)
callback(result) -- Function
回调result -- Number 结果-1 -- Unknown未知类型网络
0 -- NotReachable
1 -- ReachableViaWiFi
2 -- ReachableVia2G
3 -- ReachableVia3G
4 -- 4G
Example
mqq.device.getNetworkType(function(result){
alert(result);
});
getNetworkInfo
>= IOS 5.5 >= Android 5.5
使用说明 : 获取细化的具体网络类型
返回值
type -- Bumber 网络类型,和原本的getNetworkType接口一样-1 -- 未知类型网络
0 -- NotReachable
1 -- ReachableViaWiFi
2 -- ReachableVia2G
3 -- ReachableVia3G
4 -- 4G
radio -- String 细化的网络类型
Example
mqq.invoke('device', 'getNetworkInfo',function(data){
console.log(data);
});
setScreenStatus
IOS not support >= android 5.0
使用说明 : 设置屏幕是否常亮
setScreenStatus(param, callback)
param -- Object 必选 status -- Number 必选
状态标识0 -- 屏幕不长亮
1 -- 屏幕长亮
callback(result, message) -- Function 必选
状态标识result -- Number 必选 返回当前状态0 -- 屏幕不长亮
1 -- 屏幕长亮
message -- String 必选 当前状态的文字描述
getPlatform
>= IOS 5.5
使用说明 : 获取平台信息
返回值
名称
类型
必选
描述
name
String

平台名 qq 或者 qzone
version
String

平台版本,如"5.2"
sdkversion
String

sdk版本 比如"1.0.0"
Example
mqq.invoke('device', 'getPlatform', function(data){
console.log(data);
});
getMemInfo
>= IOS 5.5 >= Android 5.5
使用说明 : 获取内存信息
返回值
名称
类型
必选
描述
totalMem
Number

总内存大小
idleMem
Number

未使用内存大小
Example
mqq.invoke('device', 'getMemInfo', function(data){
console.log(data);
});
getCPUInfo
>= IOS 5.5 >= Android 5.5
使用说明 : 获取CPU信息
返回值
名称
类型
必选
描述
maxFreq
Number

CPU最大频率
minFreq
Number

CPU最小频率
curFreq
Number

CPU当前频率
CPUName
String

CPU名字
Example
mqq.invoke('device', 'getCPUInfo', function(data){
console.log(data);
});
getCPUCoreNum
>= IOS 6.0 >= Android 6.0
使用说明 : 获取CPU核数信息
返回值
名称
类型
必选
描述
count
Number

总核数
Example
mqq.invoke('device', 'getCPUCoreNum', function(data){
console.log(data);
});
MediapreloadSound
>= IOS 5.5 >= Android 5.5
使用说明 : 预加载离线包内的音频资源
参数
名称
类型
必选
描述
bid
Number

离线业务的id,-1为播放网络资源
url
String

音频文件的路径,相对离线包根目录
返回值
名称
类型
描述
ret
Number
1加载成功,0加载失败
Example
mqq.invoke("media", "preloadSound",{
bid: -1,
url: "http://yourdomain/sound.mp3"
},function(data){
alert(JSON.stringify(data));
});
playLocalSound
>= IOS 5.5 >= Android 5.5
使用说明 : 播放离线包里的音频,空间内把声音分为背景音乐和音效,背景音乐使用playLocalBackSound接口
参数
名称
类型
必选
描述
bid
Number

离线业务的id,-1为播放网络资源
url
String

音频文件的路径,相对离线包根目录
Example
mqq.invoke("media", "playLocalSound", {
bid: -1,
url: "http://yourdomain/sound.mp3"
});
getPicture
手机QQ>= IOS 5.5 >= Android 5.5
手机空间>= IOS 7.2 >= Android 7.2
使用说明 : 从相册选择图片或者调用摄像头拍照,以base64返回数据
参数
名称
类型
必选
描述
param
Object

选项
callback(ret,images)
Function

回调
选项param
名称
类型
必选
描述
备注
source
Number

控制来源的,0:相册;1:拍照
front
Boolean

是否使用前置摄像头
max
Number

最大张数限制
outMaxWidth
Number

限制输出的图片的最大宽度,超过将会压缩到指定值
outMaxHeight
Number

限制输出的图片的最大高度,超过将会压缩到指定值
inMinWidth
Number

限制输入的图片(展示给用户选择的)的最小宽度
inMinHeight
Number

限制输入的图片(展示给用户选择的)的最小高度
urlOnly
Boolean

为 true 则只返回 imageID,不返回 data 和 match,此时 outMaxHeight/outMaxWidth/inMinHeight/inMinWidth 无效。之后可以使用 getLocalImage 接口自行加载对应的图片内容 >= IOS 4.7 >=android 4.7
返回值
名称
类型
描述
ret
Number
返回码。 0:成功;3:内存不足
images
Array|Object
数据对象
数据对象images
名称
类型
描述
备注
data
String
所选图片的base64数据
imageID
String
所选图片的在手机QQ本地对应的路径
手机空间不支持此参数
match
Number
所选图片是否符合最大最小尺寸要求等。0:符合要求;1:图片尺寸太小;2:读取、解码失败;
手机空间不支持此参数
Example
mqq.invoke("media", "getPicture",{
source:0,
front:false,
max:30,
outMaxWidth:400,
outMaxHeight:400,
inMinWidth:70,
inMinHeight:70,
urlOnly:false
},function(ret,data){
console.log(data);
});
showPicture
>= IOS 5.5 >= Android 5.5
使用说明 : 显示图片查看器
注:独立版接口在ui下,请使用ui.showPicture
参数
名称
类型
必选
描述
imageIDs
Array

图片url或本地路径
index
Number

初始显示图片的索引,默认为0
Example
mqq.invoke("media", "showPicture",{
imageIDs : [
"http://pub.idqqimg.com/qqmobile/pic/b1.jpg",
"http://pub.idqqimg.com/qqmobile/pic/b2.jpg",
"http://pub.idqqimg.com/qqmobile/pic/b3.jpg",
"http://pub.idqqimg.com/qqmobile/pic/b4.jpg"
],
index : 2
});
saveImage
>= IOS 5.1 >= android 5.2
使用说明 : 保存指定图片到手机相册(Android是保存到 QQImage 目录,相机程序会识别出来)
参数
名称
类型
必选
描述
param
Object

调用参数
callback
Function

回调函数
param
名称
类型
必选
描述
content
String

图片的base64数据或者图片url
回调
名称
类型
必选
描述
data
Object

返回值
data
名称
类型
必选
描述
retCode
String

返回值
statusCode
String

http状态码(针对url)
msg
String

错误详情
imageID
String

图片本地路径,可通过 getLocalImage 接口取图片
retCode

描述
0
保存成功
1:
没有写入相册的权限
2:
无效数据(针对base64)
3:
下载失败(针对url)
-1
其他错误
Example
mqq.invoke("media", "saveImage",{
content : "http://pub.idqqimg.com/qqmobile/pic/b1.jpg"
},function(data){
console.log(data);
});
AppcheckAppInstalled
>= IOS 5.5 >= Android 5.5
使用说明 : 获取本地指定应用的本版号
警告:IOS只能获取当前应用的版本号,其它应用的无法获取
参数
名称
类型
必选
描述
name
String

应用名
返回值
名称
类型
必选
描述
result
Boolean

返回查询结果
Example
//检测手机QQ版本号
var value = "mqq"; //ios
//var value = "com.tencent.mobileqq"; //android
mqq.invoke('app', 'checkAppInstalled', { "name" : value }, function(result){
alert("mobileqq version: " + result);
});
isAppInstalled
>= IOS 5.5 >= Android 5.5
使用说明 : 检测app是否安装
参数
名称
类型
必选
描述
name
String

应用名
返回值
名称
类型
必选
描述
result
Boolean

返回查询结果
Example
//检测手机QQ是否安装
var value = "mqq"; //ios
//var value = "com.tencent.mobileqq"; //android
mqq.invoke('app', 'isAppInstalled', { "name" : value }, function(result){
alert("mobileqq is install: " + result);
});
launchApp
>= IOS 5.5 >= Android 5.5
使用说明 : 打开App
参数
名称
类型
必选
描述
name
String

应用的schema或者包名
Example
mqq.invoke('app', 'launchApp', {
name: "mqq"// IOS
});
mqq.invoke('app', 'launchApp', {
name: "com.tencent.mobileqq"// android
});
isAppInstalledBatch
>= IOS 5.5 >= Android 5.5
使用说明 : 批量查询应用是否已安装
参数
名称
类型
必选
描述
name
String

应用的schema或者包名,竖线分隔
Example
mqq.invoke("app","isAppInstalledBatch",{
"name":"com.tencent.mobileqq|com.qzone"
},function(evt){
alert(JSON.stringify(evt.data));
});
checkAppInstalledBatch
>= IOS 5.5 >= Android 5.5
使用说明 : 批量获取本地应用的版本号
警告:IOS只能获取当前应用的版本号,其它应用的无法获取
参数
名称
类型
必选
描述
name
String

应用的schema或者包名,竖线分隔
Example
mqq.invoke("app","checkAppInstalledBatch",{
"name":"com.tencent.mobileqq|com.qzone"
},function(evt){
alert(JSON.stringify(evt.data));
});
SensorstartListen使用说明 : 开始监听麦克风音量
警告:这个接口是静默的,调用后用户无感知,最好 UI 给予用户提示页面将监听麦克风音量变化
返回值
名称
类型
必选
描述
ret
Boolean

是否成功启动传感器
volume
Number

音量大小(db),回调频率10次/秒
Example
mqq.invoke("sensor", "startListen", function (evt) {
alert(JSON.stringify(evt.data));
});
stopListen使用说明 : 停止监听麦克风音量大小
Example
mqq.invoke("sensor", "stopListen", function (){
alert(“停止监听”);
});
getLocation
>= IOS 5.5 >= Android 5.5
使用说明 : 获取经纬度座标,这里返回的都是火星坐标,业务需要进行转换,
可以使用腾讯地图的API查询验证:http://lbs.qq.com/uri_v1/guide-geocoder.html,
如:http://apis.map.qq.com/uri/v1/geocoder?coord=22.543783,113.928937&coord_type=1,
coord_type需指定为 gps(也就是火星坐标)。
参数
名称
类型
必选
描述
options
Object

配置参数
callback(ret,latitude,longitude,status)
Function

回调函数
配置参数 options
名称
类型
必选
描述
allowCacheTime
Number

读取多少时间内的缓存定位数据,以秒为单位
回调函数 callback(ret,latitude,longitude,status)
名称
类型
必选
描述
ret
Number

0:成功; -1: 失败
latitude
Number

纬度
longtitude
Number

经度
status
Object

状态
返回值status >= IOS 4.7 android not support
名称
类型
必选
描述
enabled
Boolean

是否已开启传感器
authroized
Boolean

是否已授权
Example
// 读取60s内的缓存数据
mqq.sensor.getLocation({allowCacheTime:60}, function(retCode, latitude, longitude){
alert("retCode: " + retCode + " " + latitude + ", " + longitude);
});
Example
// 重新定位
mqq.sensor.getLocation(function(retCode, latitude, longitude){
alert("retCode: " + retCode + " " + latitude + ", " + longitude);
});
getRealLoaction
>= IOS 5.5 >= Android 5.5
使用说明 : 获取地理位置
参数
名称
类型
必选
描述
allowCacheTime
Number

读取多少时间内的缓存定位数据,以秒为单位
返回值
名称
类型
必选
描述
latitude
Number

纬度
longtitude
Number

经度
Example
mqq.invoke("sensor", "getRealLoaction", function (eva) {
alert(JSON.stringify(evt.data));
});
vibrate
>= IOS 5.5 >= Android 5.5
使用说明 : 让手机震动一下
参数
名称
类型
必选
描述
time
Number

单位是毫秒,android可以指定震动时间,IOS的震动时间是系统管理的,不能指定
Example
mqq.invoke("sensor", "vibrate",{time:1000});
startAccelerometer
>= IOS 5.5 >= Android 5.5
使用说明 : 开启重力感应
返回值
名称
类型
必选
描述
ret
Boolean

是否成功启动传感器
x
Number

x轴上大小
y
Number

y轴上大小
z
Number

z轴上大小
Example
mqq.invoke('sensor', 'startAccelerometer', function(data){
console.log(data);
});
stopAccelerometer
>= IOS 5.5 >= Android 5.5
使用说明 : 关闭重力感应
Example
mqq.invoke('sensor', 'stopAccelerometer');
startCompass
>= IOS 5.5 >= Android 5.5
使用说明 : 开启监听罗盘
返回值
名称
类型
必选
描述
ret
Boolean

是否成功启动传感器
direction
Number

面对的方向度数,频率50次/秒
Example
mqq.invoke('sensor', 'startCompass', function(data){
console.log(data);
});
stopCompass
>= IOS 5.5 >= Android 5.5
使用说明 : 关闭监听罗盘
Example
mqq.invoke('sensor', 'stopCompass');
UI
界面相关接口
openUrl
>= IOS 5.5 >= Android 5.5
使用说明 : 打开指定urL
警告: QQ空间不存在底部导航栏,因此style=2或3无效
参数
名称
类型
必选
描述
url
String

需要打开的url
target
Number

0为当前webview打开,1为新的webview打开,2为外部浏览器打开,默认为0
style
Number

0: 顶部标题栏模式(无底部工具栏)1: 顶部标题栏无分享入口(无底部工具栏)2: 底部工具栏模式(顶部标题依然会存在)3: 底部工具栏模式且顶部无分享入口(顶部标题依然会存在)
Example
mqq.invoke("ui", "openUrl",{
url
: "http://news.qq.com",
target
: 1,
style
: 1
});
popBack
>= IOS 4.5 >= android 4.6
使用说明 : 关闭当前webview
Example
mqq.ui.popBack();
setLeftButton
>= IOS 5.5 >= Android 5.5
使用说明 : 设置浏览器左按钮
参数
名称
类型
必选
描述
title
String

设置左按钮文案
Example
mqq.invoke("ui", "setLeftButton",{
title:"返回"
},function(){
alert("点击了返回按钮");
});
>= IOS 5.5 >= Android 5.5
使用说明 : 显示分享菜单
Example
mqq.ui.showShareMenu();
setOnShareHandler
>=IOS 4.7.2 >=android 4.7.2
使用说明:设置web页面分享的监听事件。用户点击右上角的弹出菜单后,点击了分享时会通知页面,此时需要调用 shareMessage 主动发起分享(系统默认的分享行为不再执行)
参数
名称
类型
必选
描述
callback(result)
Function

回调
参数 result
名称
类型
必选
描述
type
Number

用户点击的分享类型0:QQ好友;1:QQ空间;2:微信好友;3:微信朋友圈
H5应用设置方法
mqq.ui.setOnShareHandler(function(type){
mqq.ui.shareMessage({
title: '自定义的分享标题',
desc: '自定义的分享描述',
share_type: type,
share_url: window.OPEN_DATA.shareurl,
image_url: 'http://i.gtimg.cn/open/app_icon/05/58/35/77/1105583577_100_m.png',
back: true
},function(result){
//result
});
});
shareMessage
结合版 >= IOS 4.7.2 >= android 4.7.2
独立版 >= IOS 7.3 >= android 7.3
使用说明 : 调用客户端的分享接口,分享内容给好友/群/空间/微信,调用后会弹出联系人选择列表
建议在mqq.ui.setOnShareHandler的回调中配合使用
参数
名称
类型
必选
描述
params
Object

参数
callback(result)
Function

回调
参数 params
独立版仅支持 title/desc/share_url/image_url/share_type 字段
名称
类型
必选
描述
title
String

必填,消息标题,最长45字节
desc
String

必填,消息摘要,最长60字节。
share_type
Number

分享的目标类型,默认为 0 0:QQ好友;1:QQ空间;2:微信好友;3:微信朋友圈。
share_url
String

点击消息后的跳转url,最长120字节。原 targetUrl 参数,可以继续使用 targetUrl
image_url
String

消息左侧缩略图url。图片推荐使用正方形,宽高不够时等比例撑满,不会变形。原 imageUrl 参数,可以继续使用 imageUrl。注意:图片最小需要200 * 200,否则分享到Qzone时会被Qzone过滤掉。
back
Boolean

>= IOS 5.0 >= android 4.7.2 发送消息之后是否返回到web页面,默认false,直接到AIO,注:该参数只对share_type=0时起作用
shareElement
String

>= IOS 5.0 >= android 5.0 分享的类型,目前支持图文和音乐分享。默认为newsnews:图文分享类型,audio:音乐分享类型,video:视频分享类型。
flash_url
String

>= IOS 5.0 >= android 5.0 如果分享类型是音乐或者视频类型,则填写流媒体url
puin
String

>= IOS 5.0 >= android 5.0 公众帐号uin,用于自定义结构化消息尾巴,只在公众账号分享的时候填写,若不是请不要填,当puin没有索引到本地记录,则显示sourceName字段的文本,若没有sourceName字段,则直接显示puin数字
appid
String

>= IOS 5.0 >= android 5.0 来源 appid,在QQ互联申请的的 appid,如果有,可以填上
sourceName
String

消息来源名称,默认为空,优先读取 appid 对应的名字,如果没有则读取 puin 对应的公众账号名称
toUin
String

>= IOS 5.0 >= android 5.0 分享给指定的好友或群,如果存在这个参数,则不拉起好友选择界面 (针对分享给好友)
uinType
String

>= IOS 5.0 >= android 5.0 分享给指定的好友或群的uin类型: 0:好友;1:群 (针对分享给好友)
回调 callback(result)
独立版7.3 IOS分享到qzone没有回调,将在7.4修复
独立版7.3 Android玩吧分享到qq没有回调,正在调整,预计7.4修复
独立版7.3 Android分享到微信好友、微信朋友圈回调有两次,正在调整,预计7.4修复
名称
类型
必选
描述
result
Object

返回对象
回调参数 result
名称
类型
必选
描述
retCode
Number

返回码
返回码 retCode
0 -- 用户点击发送,完成整个分享流程
1 -- 用户点击取消,中断分享流程
2 -- IOS端分享到微信或朋友圈时,手动取消分享将返回-2
H5应用设置方法
mqq.ui.setOnShareHandler(function(type){
mqq.ui.shareMessage({
title: '自定义的分享标题',
desc: '自定义的分享描述',
share_type: type,
share_url: window.OPEN_DATA.shareurl,
image_url: 'http://i.gtimg.cn/open/app_icon/05/58/35/77/1105583577_100_m.png',
back: true
},function(result){
//result
});
});
webviewCanScroll
>= IOS 5.8 >= Android 5.8
使用说明 : 禁止webview下拉回弹效果
注意:该接口直接使用`mqq.invoke`调用,不支持`mqq.ui.webviewCanScroll`
参数
名称
类型
必选
描述
params
Object

参数
参数params
名称
类型
必选
描述
enable
Boolean

禁止字段,false:禁止 true:开启
Example
mqq.invoke('ui', 'webviewCanScroll', {"enable" : false});
setPullDown
>= IOS 5.5 >= Android 5.5
使用说明 : 启用下拉刷新
参数
名称
类型
必选
描述
enable
Boolean

启动标识, true 启动,false 不启动
success
Boolean

业务方操作成功后,可以设置该参数,收起刷新界面
text
Boolean

操作成功后提示文案
严重: enable参数和success参数不可同时使用,enable参数优先级高于success参数
Example
// 初始化启动下拉刷新的功能
mqq.invoke("ui", "setPullDown",{ enable: true });
// 监听`qbrowserPullDown`事件,当用户触发之后,即可开始处理业务方的逻辑
mqq.addEventListener("qbrowserPullDown", function () {
// ... Your Code ...
mqq.invoke("ui", "setPullDown",{ success: true , text: "刷新成功" });
});
showTips
>= IOS 4.7 >= android 4.7
使用说明 : 弹出文本的toast提示,2秒后消失
showTips(param)
param -- Object 必选text -- String 必选,要提示的文字内容
iconMode -- Number 可选 >= IOS 5.7 >= android 5.7,icon类型,默认值21 -- 勾选图标
2 -- 空心警告图标
Example
mqq.ui.showTips({
text: "hello",
iconMode: 2
})
setTitleButtons
>= IOS 4.6 >= android 4.6
使用说明 : 配置webview顶部按钮的标题、点击回调等
setTitleButtons(param)
param -- Objectleft -- Object 必选 左按钮title -- String 必选 >= IOS 4.7.2 >= android 5.3 文案。
callback -- Function 必选 >= IOS 4.7.2 >= android 4.7 回调。
right -- Object 必选 右按钮title -- String 必选 >= IOS 4.6 >= android 4.6 文案。
hidden -- Boolean 必选 >= IOS 4.7 >= android 4.7 是否隐藏右上角按钮。
iconID -- Number 必选 >= IOS 4.7 >= android 4.7 图标的本地资源ID(只支持内置的资源)。1 -- 编辑图标
2 -- 删除图标
3 -- 浏览器默认图标
4 -- 分享图标
5 -- 上传图标(有动画效果)
7 -- 感叹号图标
callback -- Function 必选 回调。
Example
mqq.ui.setTitleButtons({
left : {
title : "返回",
callback : function () {
alert("点击左按钮")
}
},
right : {
title : "我的...",
callback : function () {
alert("点击右按钮")
}
}
})
setScrollState
>= IOS 6.0 >= Android 6.0
使用说明 : 是否禁用webview的上下拉功能
参数
名称
类型
必选
描述
enable
Boolean

true 启用,false 禁用
Example
mqq.invoke("ui", "setScrollState",{ enable: false });
showActionSheet
>= IOS 5.5 >= Android 5.5
使用说明 : 弹出 ActionSheet
参数
名称
类型
必选
描述
title
String

ActionSheet 标题
cancel
String

指定取消按钮的标题
items
Array

选项标题
返回值
名称
类型
必选
描述
type
Number

0:点击普通item;1:取消按钮或空白区域
index
Number

点击的item的下标,从0开始
Example
mqq.invoke("ui", "showActionSheet", {
"title" : "title",
"items" : ["item1", "item2"],
"cancel" : "cancel"
}, function (evt) {
alert(JSON.stringify(evt.data));
});
showDialog
>= IOS 5.5 >= Android 5.5
使用说明 : 弹出 Dialog
参数
名称
类型
必选
描述
title
String

dialog标题
text
String

dialog提示内容
needOkBtn
Boolean

是否显示确认按钮
needCancelBtn
Boolean

是否显示取消按钮
okBtnText
String

确认按钮的文本(默认为“确定”)
cancelBtnText
String

取消按钮的文本(默认为”“取消”)
返回值
名称
类型
必选
描述
button
Number

指示用户点击的按钮, 0: 点击了确认按钮; 1: 点击了取消按钮
警告: needOkBtn和needCancelBtn至少有一个为true
Example
mqq.invoke("ui", "showDialog", {
text: "是否删除?",
needOkBtn: true,
needCancelBtn: true,
okBtnText: "删除",
cancelBtnText: "取消"
},function(data){
alert(JSON.stringify(data));
});
setOnAddShortcutHandler
>= android 6.6.0
使用说明 : 全屏模式增加一个生成桌面快捷方式的浮点按钮,点击之后由回调处理,Android 手Q6.6.0开始支持,IOS暂不支持。
参数
名称
类型
必选
描述
callback
String

mqq.callback生成回调标记
Example
mqq.invoke('ui','setOnAddShortcutHandler', {
'callback':mqq.callback(callbackfunction, false,true)
});
H5应用demo
window.mqq.invoke('ui','setOnAddShortcutHandler', {'callback':mqq.callback(function(){
mqq.ui.addShortcut({
action: 'web',
title: 'H5应用',
icon: 'http://i.gtimg.cn/open/app_icon/05/58/35/77/1105583577_100_m.png',
url: window.OPEN_DATA.jumpurl,
callback: function(ret){}
});
}, false,true)});
addShortcut
>= IOS 4.5 >= android 5.8
使用说明 : 生成桌面快捷方式图标
注意 : IOS不支持回调
参数
名称
类型
必选
描述
params
Object

调用参数
参数 params
名称
类型
必选
描述
action
String

点击桌面快捷方式后,是用什么动作响应操作,目前只支持web打开方式。
title
String

标题,缺省的话就取当前页面的title
icon
String

快捷方式图标,可以缺省,使用手Q默认icon
url
String

点击快捷方式跳转的目标url,不可缺省
callback(argus)
Function

回调web端用到的关键字
extras
Object|String

需要透传给web端的数据,可缺省
回调 callback(argus) IOS not support >= android 5.8
名称
类型
必选
描述
argus
Object

返回值
返回值 argus
名称
类型
必选
描述
result
Number

设置结果
resultData
Object|String

extras透传的数据
message
String

错误提示
设置结果 result
名称
类型
描述
0
Number
创建桌面快捷方式成功
-1
Number
url字段为空
-2
Number
终端拿到的json格式解析出错
-3
Number
icon字段下载到的数据为空,或者下载到的不是图片数据
Example
mqq.ui.addShortcut({
action: 'web',
title: 'H5小程序',
icon: 'http://i.gtimg.cn/open/app_icon/05/58/35/77/1105583577_100_m.png',
url: 'http://1105583577.urlshare.cn/?_proxy=1&_wv=16778245'
})
H5应用demo
window.mqq.invoke('ui','setOnAddShortcutHandler', {'callback':mqq.callback(function(){
mqq.ui.addShortcut({
action: 'web',
title: 'H5应用',
icon: 'http://i.gtimg.cn/open/app_icon/05/58/35/77/1105583577_100_m.png',
url: window.OPEN_DATA.jumpurl,
callback: function(ret){}
});
}, false,true)});
playVideo
>= IOS 5.5 >= Android 5.5
使用说明 : 打开视频播放器,播放视频。
参数
名称
类型
必选
描述
url
String

视频地址
Example
mqq.invoke("ui","playVideo",{
url:"http://150.138.135.25/vcloud1032.tc.qq.com/1032_f8d2e0263d4ceecb444c69bb50592586.f20.mp4?vkey=AD6FCB53911BA7934FC971EB02DC8C705653A552B22C0E16FB20B59D1BF8D4FFEBD7A26B055BB4C9&sha=0f09a39f07bc2bff9280e7f56ce3b9c6a0f54d38"
},function(evt){
JSON.stringify(evt);
});
closeWebViews
>= IOS 5.5 >= Android 5.5
使用说明 : 关闭全部webview
Example
mqq.invoke("ui","closeWebViews");
refreshTitle
>= IOS 5.5 >= Android 5.5
使用说明 : 更新title
Example
mqq.invoke("ui","refreshTitle",{},function(o){});
disableLongPress
>= IOS 5.8 >= android 5.8
使用说明 : 关闭长按功能,该接口需调用mqq.invoke进行调用,具体请参照例子
注意 : 该接口仅针对图片长按,对Android端长按页面出现的菜单无效
disableLongPress(params)
params -- Object 必选 调用参数enable -- String 必选 关闭标识true -- Boolean 关闭
false -- Boolean 开启
Example
mqq.invoke('ui', 'disableLongPress', {
enable: true,
});
pageVisibility
>= IOS 4.7 >= android 4.7
使用说明 : 查询页面的可见性。当当前可见view/activity不是本页面,或应用退到后台时,此接口返回false,否则返回true。
pageVisibility(callback)
callback(result) -- Fcuntion 必选 回调result -- Boolean 必选
页面可见返回 true,不可见返回 false
Example
mqq.ui.pageVisibility(function(r){
console.log("visible ?", r);
});
setOnCloseHandler
>= IOS 4.7 >= android 4.7
使用说明 : 设置webview被关闭前的回调, 设置回调后将会替换原来的行为
setOnCloseHandler(callback)
callback -- Function 必选 回调
setRightDragToGoBackParams
>= IOS 5.3 android not support
使用说明 : 设置向右划后退触发的区域
重要:如果_wv参数禁止右划效果,那调用该接口将无法生效
setRightDragToGoBackParams(param)
param -- Object 必选enable -- Boolean 必选 启动标识, true 启动,false 不启动
width -- Number 必选 右滑相应宽度, width 和 rect 参数 只设置一个即可,同时存在,rect优先
rect -- Object 必选
区域矩阵,例如:{x:0,y:0,width:60,height:500}
Example
mqq.ui.setRightDragToGoBackParams({
enable: true,
width: 60
});
mqq.ui.setRightDragToGoBackParams({
enable: true,
rect: {x:0,y:0,width:60,height:500}
});
setWebViewBehavior
>= IOS 4.7.2 >= android 5.1
使用说明 : 配置webview的行为
setWebViewBehavior(param)
param -- Object 必选swipeBack -- Number 必选 >= IOS 4.7.2 android not support 是(1)否(0)支持右划关闭手势
actionButton -- Number 必选 >= IOS 4.7.2 >= android 5.1 是(1)否(0)显示右上角按钮
navBgColor -- Number 必选 >= IOS 5.0 >= android 5.1 背景颜色,例如:0xFF0000
navTextColor -- Number 必选 >= IOS 5.0 >= android 5.1 文字颜色,例如:0xFF0000
bottomBar -- Boolean 必选 >= IOS 5.7 >= android 5.7 控制底部导航条,默认false
keyboardDisplayRequiresUserAction -- Boolean 必选 >= IOS 5.1 android not support 设置为false允许js不经用户触发来弹起键盘
Example
//关闭右滑
mqq.ui.setWebViewBehavior({
swipeBack:0
})
//设置导航栏为黑色背景、红色文字:
mqq.ui.setWebViewBehavior({navBgColor:0x000000, navTextColor:0xFF0000});
//只修改背景颜色为灰色,文字颜色不变:
mqq.ui.setWebViewBahavior({navBgColor:0x666666});
//只修改文字颜色为黑色,背景颜色不变:
mqq.ui.setWebViewBahavior({navTextColor:0});
//恢复默认样式:
mqq.ui.setWebViewBehavior({navBgColor:-1, navTextColor:-1});
//隐藏底部导航条:
mqq.ui.setWebViewBehavior({bottomBar:false});
showOfficalAccountDetail
>= IOS 4.5 >= android 4.6
使用说明 : 打开指定公众帐号的详情页
showOfficalAccountDetail(param)
param -- Object 必选uin -- String 必选 公众帐号的uin
showAIO -- Boolean 必选 >= IOS 4.6 >= android 4.6 为true时, 如果用户关注了该公众帐号, 将打开该公众帐号的AIO; 如果未关注, 则打开详情页
showOfficialAccountProfile
>= IOS 4.5 >= android 4.6
使用说明 : 打开指定公众帐号资料卡,不支持打开AIO
showOfficialAccountProfile(param)
param -- Object 必选uin -- Object 必选 公众帐号的uin
onFirstScreen
>= android 5.4.0
使用说明 : 监听页面首屏可见事件,获取页面首屏可见时间。(该事件仅触发一次,需要在事件触发前添加监听)
onFirstScreen(callback)
callback(result) -- Function 必选
回调函数result -- Object 必选 返回的时间信息code -- Number 必选 0表示获取成功,其他为错误
time -- Number 必选 首屏可见时间,单位为毫秒
Example
mqq.data.onFirstScreen(function (ret) {
// {"code":0,"time":1050}
console.log(JSON.stringify(ret));
});
DebugdetailLog使用说明 : 让H5能打客户端log
参数
名称
类型
必选
描述
id
string

业务ID
subid
string

子业务ID
content
string

log内容
Example
//让H5能记录客户端log,这样就能直接捞用户侧log了
mqq.invoke("debug","detailLog",{
id:"mp",
subid:"get001",
content:"test detail log"
},function(e){
console.log(e)
});
EventaddEventListener使用说明 : 监听客户端事件。
该事件可能来自客户端业务逻辑,也可能是其他 WebView 使用 dispatchEvent 抛出的事件
addEventListener(eventName,handler)
eventName -- String 必选 事件名字
handler(data,source) -- Fcuntion 必选
事件的回调处理函数data -- Object 必选 该事件传递的数据
source -- Object 必选 事件来源url -- String 必选 抛出该事件的页面地址
Example
mqq.addEventListener("hiEvent", function(data, source){
console.log("someone says hi", data, source);
});
dispatchEvent
>= IOS 5.0 >= Android 5.0
使用说明 : 分发事件接口。抛出一个事件给客户端或者其他 WebView,可以用于 WebView 间通信,或者通知客户端对特殊事件做处理(客户端需要做相应开发)
参数
名称
类型
必选
描述
eventName
string

事件名字
options
Object

事件参数
echo
Boolean

当前webview是否能收到这个事件,默认为true
broadcast
Boolean

是否广播模式给其他webview,默认为true
domains
Array

指定能接收到事件的域名,默认只有同域的webview能接收,支持通配符,比如".qq.com"匹配所有qq.com和其子域、""匹配所有域名。注意当前webview是否能接收到事件只通过echo来控制,这个domains限制的是非当前webview。
Example
//1. WebView 1(www.qq.com) 监听 hello 事件
mqq.addEventListener("hello", function(data, source){
console.log("someone says hi to WebView 1", data, source)
});
//2. WebView 2(www.tencent.com) 监听 hello 事件
mqq.addEventListener("hello", function(data, source){
console.log("someone says hi to WebView 2", data, source)
});
//3. WebView 2 抛出 hello 事件
//不传配置参数,默认只派发给跟当前 WebView 相同域名的页面, 也就是只有 WebView 2能接收到该事件(WebView 1 接收不到事件,因为这两个 WebView 的域名不同域)
mqq.dispatchEvent("hello", {name: "abc", gender: 1});
//echo 为 false, 即使 WebView 2 的域名在 domains 里也不会收到事件通知, 该调用的结果是 WebView 1 将接收到该事件
mqq.dispatchEvent("hello", {name:"alloy", gender:1}, {
//不把事件抛给自己
echo: false,
//广播事件给其他 WebView
broadcast: true,
//必须是这些域名的 WebView 才能收到事件
domains: ["*.qq.com", "*.tencent.com"]
});
//echo 和 broadcast 都为 false, 此时不会有 WebView 会接收到事件通知, 但是客户端仍会收到事件, 仍然可以对该事件做处理, 具体逻辑可以每个业务自己处理
mqq.dispatchEvent("hello", {name:"alloy", gender:1}, {
echo: false,
broadcast: false,
domains: []
});
removeEventListener
>= IOS 5.0 >= Android 5.0
使用说明 : 移除客户端事件的监听器.
参数
名称
类型
必选
描述
eventName
string

事件名字
handler
Function

事件的回调处理函数,不指定 handler 则删除所有该事件的监听器
Example
//移除客户端事件的监听器.
mqq.removeEventListener("hiEvent");
qbrowserTitleBarClick
>= IOS 5.2 >= android 5.2
使用说明 : 点击标题栏事件,监听后点击手机QQ标题栏就会收到通知,可以用来实现点击标题滚动到顶部的功能
mqq.addEventListener("qbrowserTitleBarClick",callback)
callback(data, source) -- Function
事件回调data -- Object
事件参数x -- Number
点击位置的屏幕x坐标
y -- Number
点击位置的屏幕y坐标
source -- Object
事件来源
Example
mqq.addEventListener("qbrowserTitleBarClick", function(data, source){
console.log("Receive event: qbrowserTitleBarClick, data: " + JSON.stringify(data) + ", source: " + JSON.stringify(source));
});
qbrowserOptionsButtonClick
IOS not support >= android 5.2
使用说明 : Android 的物理菜单键的点击事件,点击后会收到通知
mqq.addEventListener("qbrowserOptionsButtonClick",callback)
callback(data, source) -- Function
事件回调data -- Object
事件参数
source -- Object
事件来源
Example
mqq.addEventListener("qbrowserOptionsButtonClick", function(data, source){
console.log("Receive event: qbrowserOptionsButtonClick, data: " + JSON.stringify(data) + ", source: " + JSON.stringify(source));
});
qbrowserPullDown
>= IOS 5.3 >= android 5.3
使用说明 : 页面下拉刷新时候会抛出该事件,主要用于与setPullDown交互,具体可参考setPullDown
注意 : 该事件可配合下拉刷新做交互,具体可参考`setPullDown`
mqq.addEventListener("qbrowserPullDown",callback)
callback() -- Function
事件回调
Example
mqq.addEventListener("qbrowserPullDown", function () {
// ... Your Code ...
});
qbrowserVisibilityChange
>= IOS 5.3 >= android 5.3
使用说明 : 当webview可见性发生改变时将会抛出该事件
注意 : 该事件可配合下拉刷新做交互,具体可参考`setPullDown`
mqq.addEventListener("qbrowserVisibilityChange",callback)
callback(params) -- Function
事件回调params -- Object
事件回调hidden -- Boolean
true:不可见,false:可见
Example
mqq.addEventListener("qbrowserVisibilityChange", function(e){
console.log(e.hidden);
});
tenpaypay
>= IOS 4.6.1 >= android 4.6.1
使用说明 : 唤起财付通支付界面
pay(param, callback)
param -- Object 必选prepayId -- String 必选 调用财付通后台接口生成的订单号(名称由tokenId变更而来,tokenId参数名称仍可使用)
pubAcc -- String 必选 >= IOS 4.7 >= android 4.7 公众帐号uin,用于在支付成功后关注该公众帐号。
pubAccHint -- String 必选 >= IOS 4.7 >= android 4.7 公众帐号关注提示语,用于显示在支付成功页面。
appInfo -- String 必选 标记业务及渠道,用来统计各业务KPI完成度,注意:字段由三部分组成,appid#XXXXXXXXX|bargainor_id#XXXXXXXX|channel#XXXXX -- 注:由于url字段包含"=",所以不在appInfo字段使用"=",而改用"#"代替第一部分:应用唯一id:appid请咨询SNG增值渠道部分配唯一的appid;
第二部分:商户号:bargainor_id
第三部分:渠道:channel,目前分配值:
wallet:钱包首页商城
account:应用生活服务帐号
dongtai:动态
qun:群
huodong:热门活动
aio:聊天窗口
banner:手Qbanner
gdt:广点通
shareurl:分享链接
qrcode:扫码
wallet_account:QQ钱包官号
personalstore:个性装扮
qbjx:钱包精选
other:其它
-(其它发现无对应渠道的情况,请咨询SNG增值渠道部分配新渠道标识)
callback(result, resultCode) -- Function 必选 支付成功/失败的回调result -- Object 必选 支付成功/失败的回调retmsg -- String 必选 表示调用结果信息字符串。成功返回时为空串。出错时,返回出错信息
data -- Object 可选 当resultCode=0时,有返回data对象transaction_id -- string 必选
财付通交易单号
pay_time -- string 必选
交易时间
total_fee -- string 必选
订单总金额(单位为分)
callback_url -- string 必选
商户提供的回调url地址(HTML5方式调用适用,其它情形为空)
sp_data -- string 必选
返回给商户的信息,商户前端可解析校验订单支付结果。
resultCode -- Number 必选 错误码-1 -- 未知错误
0 -- 发货成功
1 -- 下订单失败
2 -- 支付失败
3 -- 发货失败
4 -- 网络错误
5 -- 登录失败或无效
6 -- 用户取消
7 -- 用户关闭IAP支付
Example
mqq.tenpay.pay({
prepayId: "xxxx", //20160901名称由tokenId变更而来,老的tokenId参数名称仍可使用
pubAcc: "xxxx",
pubAccHint: "xxxx"
});
注意 : 支付成功的回调在 Android 4.6.2 之前的实现有 Bug,4.6.0之前从aio打开的webview会没有回调,4.6.1在生活优惠的webview会没有回调。需要页面兼容一下,给个提示框让用户点击,从后台查支付状态。最新版本已经修复。
QzoneH5PayCallBack使用说明 : h5支付成功回调通知客户端
参数
名称
类型
必选
描述
status
String

状态 success(error不调用即可)
vipType
String

开通类型
参数取值示例
功能
vipType
普通黄钻
"normalVip"
豪华黄钻
"highVip"
星钻
"starVip"
Example
mqq.invoke("Qzone", "H5PayCallBack",{
status:"success",
vipType:"normalVip"
});
宝马x3qq音乐下载失败是什么原因?_中华网汽车
首页
文章
选车
汽修
百科
宝马x3qq音乐下载失败是carplay出现问题。以下是关于carplay的相关介绍:carplay的使用方式:部分支持CarPlay的汽车会装备一块触控显示屏,能够在一个相当简单的主屏幕上开启或关闭应用。物理按键:汽车带有物理按键,是控制CarPlay的方式之一,音量控制和更换曲目这样的控制都被无缝地整合了进来。carplay的作用:CarPlay是将用户的iOS设备,以及iOS使用体验,与仪表盘系统无缝结合。用户可以轻松、安全地拨打电话、听音乐、收发信息、使用导航,以及更多。
热门阅读
epc灯亮是什么问题
火花塞更换周期
驾驶证到期没有换,逾期怎么办??
玻璃水冻住了如何解决?
bba是什么车
92号95号汽油区别

我要回帖

更多关于 加对方好友一直是等待验证 的文章

 

随机推荐