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号汽油区别