网页容器
summer.openWebView()
打开网页
注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
语法:
summer.openWebView(params);
参数:
- params:传递一个json数据,内部url为要打开的网页的地址,ios可以用于打开appstore的下载链接;
示例代码:
summer.openWebView({
url : "http://www.baidu.com"
});
位置信息
summer.getLocation()(H5实现)
获取位置信息
h5实现的更多功能版本,请参考文档 Summer开发指导 -> 高德地图使用
注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
语法:
summer.getLocation(successFn, errFn);
参数:
- successFn:获取位置成功的回调,回调返回的值中包含位置信息;
- errFn:获取位置失败的回调,回调返回失败的信息
示例代码:
function onSuccess(position) {
alert('Latitude: ' + position.coords.latitude + '
' + 'Longitude: ' + position.coords.longitude + '
' + 'Altitude: ' + position.coords.altitude + '
' + 'Accuracy: ' + position.coords.accuracy + '
' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '
' + 'Heading: ' + position.coords.heading + '
' + 'Speed: ' + position.coords.speed + '
' + 'Timestamp: ' + position.timestamp + '
');
};
function onError(error) {
alert('code: ' + error.code + '
' + 'message: ' + error.message + '
');
}
summer.getLocation(onSuccess, onError);
summer.getNativeLocation()(原生实现)
通过高德地图提供的api封装的方法,使用时请先到高德网站申请AMAP_KEY,申请高德KEY参考文档:**移动应用开发平台 -> DSL控件指南 -> 高级 -> 高德地图 -> 高德地图使用1-3点。
注意1:新云端打包使用此API需要在config.xml中配置cordova-plugin-amap插件
配置样例:
如您在高德网站申请到的AMAP_KEY为bc0de3198a1905cc41cbb26d88457cb7,则在config.xml配置的插件信息为:
<import id="cordova-plugin-amap" type="web" ref="cordova">
<parameter>AMAP_KEY=bc0de3198a1905cc41cbb26d88457cb7</parameter>
</import>
注意2:高德AMAP_KEY是和android的包名以及构建apk绑定的,即在使用云构建android包的时候,注意包名一致,签名一致。
包名一致不需要解释了!!!!!!
签名一致解释下:
用户使用云构建android包时,需要在云构建上传申请高德AMAP_KEY使用的签名keystore文件,并将其设为默认构建证书(默认证书设置,参考文档:移动应用开发平台 -> 应用发布 -> 云构建账号)
图一:制作自己的keystore文件,用于申请高德AMAP_KEY
图二:上传keystore文件,保证云构建出的app签名和高德AMAP_KEY对应
注意3:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
语法
summer.getNativeLocation(json,successFn,failFn);
参数信息
- single:是否只获取1次
- successFn:成功回调
- failFn:失败回调
返回信息
返回结果为json对象,可以从中取出address、longitude(经度)、latitude(纬度)的值
代码演示
summer.getNativeLocation({
"single" : "true"
},function(args){
$summer.alert(args);
},function(args) {
$summer.alert(args);
});
注意4:如果遇到上架苹果AppStore被拒绝时,需要修改提示
准则5.1.1 - 法律 - 隐私 - 数据收集和存储
我们注意到您的应用请求用户同意访问其位置,但未明确在权限模式警报中使用此功能。
下一步
要解决此问题,请修改权限模式警报,以指定应用程序请求访问用户位置的原因。
权限请求警报应指定您的应用如何使用此功能来帮助用户了解您的应用请求访问其个人数据的原因。
处理方法:
1、下载amap插件
http://123.103.9.204:8050/res/cordova-plugin-amap.zip
2、解压zip包修改其中ios的相关描述
<platform name="ios">
<config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
<string>“允许”获取您的位置信息,以便您能获得相应的定位服务</string>
</config-file>
</platform>
3、将zip包上传到mbs云构建服务的cordova插件中
4、按照原来的配置直接构建app即可生效
连接VPN
SummerVpn.connectVPN
连接VPN
使用此API需要在config.xml中配置cordova-plugin-summervpn插件
SummerVpn.connectVPN({
"url":"https://106.39.10.60:443",
"username":"10070681",
"password":"123456"
},function success(args){
alert(args);
},function error(args){
alert(args.error_msg);
});
网络状态
summer.netAvailable()
用来获取网络是否可用,返回值为true||false
注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.CHANGE_NETWORK_STATE
android.permission.INTERNET
示例代码:
alert(summer.netAvailable());
summer.getNetworkInfo()
该方法用来获取当前网络信息,返回当前设备网络信息。返回值为json
注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.CHANGE_NETWORK_STATE
android.permission.INTERNET
示例代码:
alert(JSON.stringify(summer.getNetworkInfo()));
返回结果:
// 网络为WIFI时
{
"Type":"Wifi",
"ip":"10.6.235.164",
"name":"yonyou"
}
// 网络为运营商时
{
"Type":"Mobile",
"ip":"10.90.107.64"
}
日历
summer.addCalendarEvent()
添加事件到系统日历提醒事项
注意:Android 6以上版本使用此API时需要手动申请权限,权限申请参考 Summer API -> 应用管理 -> 应用权限 下的 API summer.getPermission()(仅Android)
Android需申请的权限:
android.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR
语法:
summer.addCalendarEvent({
"title": "",
"location": "",
"startDate": ,
"endDate": ,
"allDay": ,
"alarmTime": ,
"notes": "",
"callback": "successCallback()",
"error": "errorCallback()"
});
参数:
- title:(必选项)string类型,表示事件标题;
- location:(必选项)string类型,表示事件位置;
- startDate:(必选项)表示开始时间(时间戳);
- endDate:(必选项)表示结束时间(时间戳);
- allDay:(可选项)bool类型,表示是否全天,默认为false;
- alarmTime:(可选项)表示闹铃提醒(单位:分钟),如:alarmTime=-15,表示事件开始前15分钟闹铃;
- notes:(可选项)string类型,表示备注;
- callback:成功回调
- error:失败回调
示例代码:
function addCalendarEvent(){
var timestamp = Date.parse(new Date());
var startDate = timestamp + 1000 * 10;
var endDate = timestamp + 10000 * 60;
var params = {
"title": "开会",
"location": "12-2会议室",
"startDate": startDate,
"endDate": endDate,
"allDay": false,
"alarmTime": -15,
"notes": "携带笔记本",
"callback": "successCallback()",
"error": "errorCallback()"
}
summer.addCalendarEvent(params);
}
function successCallback(res) {
$summer.alert(res);
}
function errorCallback(res) {
$summer.alert(res);
}
分享
summer.systemShare()
调用系统分享功能进行文字发送和图片分享
语法:
summer.systemShare({
"type" : "", //text、image
"text" : "", //内容
"image" : "", //文件名称
"url" : "" //URL链接
})
参数:
- type:分享内容类型,text为文本、image为图片,仅Android,iOS忽略
- text:分享文本内容
- image:分享图片内容
- url:分享URL,仅iOS,Android忽略
示例代码:
summer.systemShare({
"type" : "text", //text、image
"text" : "今天股票涨疯了!", //内容
"image" : "/dir/image.png", //图片
"url" : "http://mobile.yyuap.com" //URL链接
})