手机功能函数列表

使用方式

  • 使用wide打包的app

  • 使用打包的app打开的页面

  • 本页面所示功能函数在页面对应的任意一js文件中执行(如:元素运行期,页面对应js,wwclass.js)

  • callApp 传入三个参数,第一个为需要调用的方法,第二为该方法需要的参数,第三为回调函数

  • 回调函数传入了两个参数

    • value 表示执行的结果

    • exception 表示抛出的异常,如果抛出了异常表示执行失败

获取手机所有联系人信息

官方api

参数:

  • method:表示需要的操作,值为 "find" 表示查找已有联系人信息,值为 "create" 表示新建联系人

  • 如 method 值为 "create" 需要传入 "properties" properties 为对象格式

  • properties.displayName:联系人姓名

  • properties.name:联系人姓名(未详细区分与上方属性的区别,使用时请同时传入)

  • properties.phoneNumbers: 电话号码

使用示例:

获取手机所有联系人信息:

$.wwclass.callApp("contacts", {
      "method": "find"
    }, function(value, exception) {
      if (typeof exception !== "undefined") {
        console.log("call contacts returned false");
        console.log(exception);
        return;
      } else {
        console.log("call contacts returned success");
      }
      console.log(value);
      for (var i = 0; i < value.length; i++) {
        console.log("Display Name = " + value[i].displayName);
      }
    });

添加联系人:

 $.wwclass.callApp("contacts", {
      "method": "create",
      "properties": {
        "displayName": "小灰",
        "name": "小灰灰",
        "phoneNumbers": 15201111111
      }
    }, function(value, exception) {
      if (typeof exception !== "undefined") {
        console.log("create contacts returned false");
        console.log(exception);
        return;
      } else {
        console.log("create contacts returned success");
      }
      console.log(value);
    });

返回值示例:

适用范围:

  • Android

二维码扫描

官方api

参数:

使用示例:

二维码扫描:

$.wwclass.callApp("scan", {}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.log("scan returned false");
    return;
  } else {
    console.log("scan returned success");
    alert("We got a barcode\n" +
      "Result: " + value.text + "\n" +
      "Format: " + value.format + "\n" +
      "Cancelled: " + value.cancelled);
  }
});

返回值示例:

手机相机相册

官方api

参数:

  • quality:0 ~ 100 图像质量

  • mediaType: 0: PICTURE, 1: VIDEO, 2:ALLMEDIA

  • destinationType: 0: DATA_URL, 1: FILE_URI(android), 2: NATIVE_URI(ios)名

  • sourceType: 0: PHOTOLIBRARY, 1: CAMERA, 2: SAVEDPHOTOALBUM

  • saveToPhotoAlbum: Save the image to the photo album on the device after capture.

  • encodingType: 0: JPEG, 1: PNG

使用示例:

调用手机相机:

// 调用手机相机拍照获取图像
$.wwclass.callApp("camera", {
  method: "getPicture",
  cameraOptions: {
      quality: 50,
      mediaType: 0,
      destinationType: 0,
      sourceType: 1,
      saveToPhotoAlbum: true,
      popoverOptions: 0,
      cameraDirection: 1
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.log("call camera returned false");
    console.log(exception);
    return;
  } else {
    console.log("call camera returned success");
  }
  $("#pic").attr("src", value);
});
// 调用手机相册
$.wwclass.callApp("camera", {
  method: "getPicture",
  cameraOptions: {
      quality: 50,
      mediaType: 0,
      destinationType: 0,
      sourceType: 2,
      saveToPhotoAlbum: true,
      popoverOptions: 0,
      cameraDirection: 1
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.log("call camera returned false");
    console.log(exception);
    return;
  } else {
    console.log("call camera returned success");
  }
  $("#pic").attr("src", value);
});

注意:若配置中destinationType使用文件路径,该文件无法加载,报错信息为无法加载本地文件,所以统一使用获得的图片格式为base64。

在cordova环境执行自定义脚本

参数:

使用示例:

$.wwclass.callApp("eval", {
  script: "alert(1);"
}, function(value, exception) {});

返回值示例:无

启动app

插件地址

参数:

  • appParams:为插件参数,必填 extras:为额外参数

  • 两个参数详细包括哪些内容,自行参看​ 官方文档

使用示例:

$.wwclass.callApp("startApp", {
  appParams: {"package":"com.baidu.searchbox"},
  extras: {}
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.log("startApp returned false");
    console.log(exception);
    return;
  } else {
    console.log("startApp returned success");
  }
});

返回值示例:

微信

官方api

参数:

  • method

    • sessionShare:会话

    • timelineShare:朋友圈

    • favorites:收藏

  • type:有很多类型,不同类型代码略有不同,详情查看相关代码

使用示例:

$.wwclass.callApp("wechat", {
  "method": "sessionShare",
  "params": {
    "type": "WEBPAGE",
    "title": "这是标题",
    "description": "这是描述",
    "thumb": "http://www.huiqiuqiu.com/img/demo1.jpg",
    "webpageUrl": "http://www.huiqiuqiu.com/test.html"
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    $ele.trigger("shareError.ww");
    console.error("微信分享失败", exception);
    return;
  } else {
    $ele.trigger("shareSuccess.ww");
    console.log("微信分享成功");
  }
});
// 支付
/*{
  partnerid: '10000100', // merchant id
  prepayid: 'wx201411101639507cbf6ffd8b0779950874', // prepay id
  noncestr: '1add1a30ac87aa2db72f57a2375d8fec', // nonce
  timestamp: '1439531364', // timestamp
  sign: '0CB01533B8C1EF103065174F50BCA001', // signed string
}*/

$.wwclass.callApp("wechat", {
  "method": "sendPaymentRequest",
  "params": config
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("支付失败, 原因:" + exception);
    alert("支付失败, 原因:" + exception);
    return;
  }
  console.log("支付成功");
  alert("支付成功");
});

返回值示例:

系统分享

官方api

安装命令:cordova plugin add cordova-plugin-x-socialsharing

参数:

使用示例:

$.wwclass.callApp("socialSharing", {
  method: "socialShare",
  params: {
    url: "http://www.baidu.com",
    subject: "测试标题",
    message: "描述内容",
    files: "http://www.huiqiuqiu.com/tile.jpg"
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    $ele.trigger("shareError.ww");
    console.error("系统分享失败", exception);
    return;
  } else {
    $ele.trigger("shareSuccess.ww");
    console.log("系统分享成功");
  }
});

返回值示例:

qq相关功能

官方api

安装命令:cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=1105399343

参数:

  • method:表示需要的操作,值为 "find" 表示查找已有联系人信息,值为 "create" 表示新建联系人

  • 如 method 值为 "create" 需要传入 "properties" properties 为对象格式

  • properties.displayName:联系人姓名

  • properties.name:联系人姓名(未详细区分与上方属性的区别,使用时请同时传入)

  • properties.phoneNumbers: 电话号码

使用示例:

$.wwclass.callApp("qq", {
  method: "QQShare", // QQShare, QQFavorites, QZoneShare
  params: {
    url: "http://www.baidu.com",
    title: "测试标题",
    description: "描述内容",
    imageUrl: "http://www.huiqiuqiu.com/img/demo1.jpg",
    appName: "app名称"
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    $ele.trigger("shareError.ww");
    console.error("qq分享失败", exception);
    return;
  } else {
    $ele.trigger("shareSuccess.ww");
    console.log("qq分享成功");
  }
});

返回值示例:

微博相关功能

官方api

安装命令:cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=631293344

参数:

使用示例:

$.wwclass.callApp("weibo", {
  method: "shareToWeibo",
  params: {
    url: "http://www.baidu.com",
    title: "测试标题",
    description: "描述内容",
    imageUrl: "http://www.huiqiuqiu.com/tile.jpg", // 图片一定要小
    defaultText: "默认描述"
  }
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    $ele.trigger("shareError.ww");
    console.error("微博分享失败", exception);
    return;
  } else {
    $ele.trigger("shareSuccess.ww");
    console.log("微博分享成功");
  }
});

返回值示例:

获取设备信息

官方api

命令:cordova plugin add cordova-plugin-device

参数:

使用示例:

$.wwclass.callApp("device", {method: "deviceInfo"}, function(value) {
    console.log("设备信息", value);
});

返回值示例:

手机nfc功能

未有callApp函数给出,如需使用本功能。首先在打包时启用nfc相关选项,然后使用eval在app主体执行功能。

官方api

安装命令:cordova plugin add phonegap-nfc

参数:无

使用示例:无

返回值示例:无

获取网络信息

官方api

参数:

  • method:方法类别 "checkConnection" 检查网络连接状态

使用示例:

$.wwclass.callApp("network", {method: "checkConnection"}, function(value) {
    console.log("网络信息", value);
});
// 网络信息 WiFi connection

返回值示例:

  • Unknown connection
  • Ethernet connection
  • WiFi connection
  • Cell 2G connection
  • Cell 3G connection
  • Cell 4G connection
  • Cell generic connection
  • No network connection

获取当前地理位置(Android不可使用, ios可以使用)

该功能Android测试失败,Android中获取地理位置相关使用百度地图

$.wwclass.callApp("geolocation", {}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.log("geolocation returned false");
    return;
  } else {
    console.log("geolocation returned success");
  }
  alert('Latitude: '        + value.coords.latitude          + '\n' +
      'Longitude: '         + value.coords.longitude         + '\n' +
      'Altitude: '          + value.coords.altitude          + '\n' +
      'Accuracy: '          + value.coords.accuracy          + '\n' +
      'Altitude Accuracy: ' + value.coords.altitudeAccuracy  + '\n' +
      'Heading: '           + value.coords.heading           + '\n' +
      'Speed: '             + value.coords.speed             + '\n' +
      'Timestamp: '         + value.timestamp                + '\n');
});

 

键盘功能(测试无效未知原因)

官方api

安装语句:cordova plugin add https://github.com/cjpearson/cordova-plugin-keyboard

// 显示键盘
$.wwclass.callApp("keyboard", {method: "hide"}, function(value) {});
// 隐藏键盘
$.wwclass.callApp("keyboard", {method: "hide"}, function(value) {});
// iOS app键盘还有额外功能, 详情请查看插件文档
$.wwclass.callApp("keyboard", {method: "shrinkView", value: true}, function(value) {});
$.wwclass.callApp("keyboard", {method: "hideFormAccessoryBar", value: true}, function(value) {});
$.wwclass.callApp("keyboard", {method: "disableScrollingInShrinkView", value: true}, function(value) {});

iOS中键盘可能发出事件,在页面的body元素发出

  • keyboardDidShow
  • keyboardDidHide
  • keyboardWillShow
  • keyboardWillHide
  • keyboardHeightWillChange

app 图标角标

官方api

参数:

  • method: 方法类别

  • num: 部分方法需要该参数. 表示对应数值

  • autoClear: configure 方法需要该参数

使用示例:

获取手机所有联系人信息:

$.wwclass.callApp("notificationBadge", {
  "method": "set",
  "num": 5
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("error", exception);
    return;
  }
  console.log("设置提示数量", value);
});

$.wwclass.callApp("notificationBadge", {
  "method": "get"
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("error", exception);
    return;
  }
  console.log("获取当前提示数量", value);
});

$.wwclass.callApp("notificationBadge", {
  "method": "increase",
  "num": 5
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("error", exception);
    return;
  }
  console.log("增加为", value);
});

$.wwclass.callApp("notificationBadge", {
  "method": "decrease",
  "num": 2
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("error", exception);
    return;
  }
  console.log("减少为", value);
});

$.wwclass.callApp("notificationBadge", {
  "method": "clear"
}, function(value, exception) {
  if (typeof exception !== "undefined") {
    console.error("error", exception);
    return;
  }
  console.log("清空", value);
});

返回值示例:true; 3

开发者查看

开发者查看

#21891qq分享功能失效,cordova插件升级,接口完全变了,当前暂时回滚旧版。