目录
应用管理
summer.getAppVersion()
获取当前APP的版本信息
注意: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.getAppVersion()
返回值:
返回值是字符串类型,其结构是
{"versionCode":"3" //对于android,是对应配置文件中的android-versioncode值,对于ios则是对应配置文件中的version值"versionName":"1.0.3" //无论android还是ios,都是对应配置文件界面中的version值}
对应配置文件中的值:
示例代码:
var versionInfo = summer.getAppVersion();//返回字符串类型var version = JSON.parse(versionInfo);//转换为jsonalert(version.versionCode)//对于android,结果:"3";对于ios,结果是1.0.3alert(version.versionName)//结果:"1.0.3"
summer.upgradeApp()
升级app
注意: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.upgradeApp(json, successFn, errorFn);//例如summer.upgradeApp({url:""},function(){},function(){})
参数:
- json:是该方法所需要的参数,核心参数为url
- url : 更新文件地址
- timeout:超时时间,单位秒
- successFn:是成功回调
- errorFn:是失败回调
返回值:
正确回调返回值是一个json,其格式如下:
{state:"1",//下载的状态取值范围0 | 1, 0表示未下载完 1表示下载完成savePath:''//下载app后的保存路径}
错误回调返回值是一个json,其格式如下:
{msg:"服务器地址链接超时",//下载失败的原因}
android示例代码:
summer.upgradeApp({url:"http://来个apk的下载地址吧.apk"},function(ret){},function(ret){})
ios示例代码:
summer.upgradeApp({url:"itms-services://?action=download-manifest&url=https://你的plist下载路径.plist"},function(ret){},function(ret){})
补充说明:
该方法支持
iOS系统,Android系统
summer.getVersion()
该方法获取应用内资源版本
注意: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.getVersion(json)
参数:
- url:检查版本的地址
返回值:
类型:字符串
默认值:无
描述:window 名字,不能为空字符串
summer.upgrade()
升级app资源
注意: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.upgrade(json, successFn, errorFn);//例如summer.upgrade({url:""},function(){},function(){})
参数:
- json:是该方法所需要的参数,核心参数为url
- url : 更新文件地址
- timeout:超时时间,单位秒
- successFn:是成功回调
- errorFn:是失败回调
返回值:
正确回调返回是一个json,其格式如下:
{state:"1",//下载的状态取值范围0 | 1, 0表示未下载完 1表示下载完成savePath:''//下载app后的保存路径}
错误回调返回值是一个json,其格式如下:
{msg:"服务器地址链接超时",//下载失败的原因}
示例代码:
summer.upgrade({"url":"http://123.103.9.205:8090/mwap/"+jsonVersionInfoOfServer.download,showProgress:true,"version":{versionCode:jsonVersionInfoOfServer.versionCode,//此处需指定versionCode,versionCode为服务器端最新安装包的版本号versionName:jsonVersionInfoOfServer.versionName//此处需指定versionName为最新版本}}, function(res){if(res.isfinish == true){summer.openWin({ //下载完成后重新打开页面,为已更新的新版本id:'index', //此处id不能为rooturl:'index.html',isKeep:false});}},function(){alert("app升级error");})
补充说明:
该方法支持
iOS系统,Android系统
summer.installApp() (暂不支持)
安装应用,如果是苹果的AppStore应用地址,将会跳转到AppStore应用详情页面
注意: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.installApp({params})
参数:
- json
- appUri:类型:字符串,默认值:无,描述:目标应用的资源文件标识。Android上为apk包的本地路径,如file://xxx.apk;iOS上为应用安装包对应的plist文件地址
示例代码:
//Android用法:summer.installApp({appUri: 'file://xx/xxx.apk'});//iOS用法:summer.installApp({appUri: "itms-services://?action=download-manifest&url=https://你的plist下载路径.plist"//安装包对应plist地址});
可用性:
iOS系统,Android系统
可提供的1.0.0及更高版本
summer.uninstallApp() (暂不支持)
卸载应用,只支持Android
语法:
summer.uninstallApp({params})
参数:
- json
- packageName:类型:字符串,默认值:无,描述:要卸载的应用的包名
示例代码:
summer.uninstallApp({packageName: 'com.yourcompany.yourapp'});
补充说明:
无
可用性:
仅Android系统
summer.openApp()
打开app
注意: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.openApp(json);
参数:
- json
- ios_appid :ios系统打开app的urlScheme,必须在config.xml中进行白名单配置(需要打开应用的urlScheme配置在queriesSchemes里)。
详情参考:https://moli.yonyoucloud.com/molidoc/docs/summer/185#打开App配置
第8条.原生应用跳转控制。 - android_packagename:安卓系统app的包名
- params:参数
- callback:成功或失败回调执行的函数
- ios_appid :ios系统打开app的urlScheme,必须在config.xml中进行白名单配置(需要打开应用的urlScheme配置在queriesSchemes里)。
示例:
summer.openApp({"ios_appid" : "weixin","android_packagename" : "com.tencent.mm","type":"scheme", //summer 应用直接打开传值需要配置上此参数。"param" : {},(暂不支持)"callback" : "mycallback()"});function mycallback(args){$summer.alert(args); //args:{"status":"打开成功","code":"1"}}
type 用法详情见: https://github.com/initKing/Summer.openApp
用手机safari浏览器 打开百度示例:
summer.openApp({"ios_appid" : "http","query" : "www.baidu.com","param" : {'name' : ''}, //文件名"callback" : function() {alert("success");}})
可用性:
iOS系统,Android系统
summer.exitApp()
退出app
注意: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.exitApp()
参数:
无
返回值:
无
示例代码:
function btn0_click(){if(confirm("真的要退出应用吗?")){summer.exitApp();}}
说明:
仅适用于android
应用权限
summer.getPermission()(仅Android)
发起权限申请, Andriod6.0及以上版本使用某项权限时需要先调用此方法发起权限申请,
注意:可以重复申请,已经有权限的不会弹框
语法:
summer.getPermission([], function(){}, function(){})
参数:
- []:所需权限参数,多个权限用逗号分隔
- successFn:成功回调函数
- errorFn:失败回调函数
示例:
var params = ["android.permission.READ_PHONE_STATE","android.permission.ACCESS_FINE_LOCATION"];summer.getPermission(params, function(args){alert(args); //成功返回OK}, function(args){alert(args); //失败返回illegal access})
android权限申请说明
对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限(比如是个app都要访问通讯录、短信等)。而在6.0以后,我们可以直接安装,当app需要我们授予不恰当的权限的时候,我们可以予以拒绝。当然你也可以在设置界面对每个app的权限进行查看,以及对单个权限进行授权或者解除授权。
新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。
需要用户申请的Dangerous Permission权限:
group:android.permission-group.CONTACTS
permission:android.permission.WRITE_CONTACTS
permission:android.permission.GET_ACCOUNTS
permission:android.permission.READ_CONTACTS
group:android.permission-group.PHONE
permission:android.permission.READ_CALL_LOG
permission:android.permission.READ_PHONE_STATE
permission:android.permission.CALL_PHONE
permission:android.permission.WRITE_CALL_LOG
permission:android.permission.USE_SIP
permission:android.permission.PROCESS_OUTGOING_CALLS
permission:com.android.voicemail.permission.ADD_VOICEMAIL
group:android.permission-group.CALENDAR
permission:android.permission.READ_CALENDAR
permission:android.permission.WRITE_CALENDAR
group:android.permission-group.CAMERA
permission:android.permission.CAMERA
group:android.permission-group.SENSORS
permission:android.permission.BODY_SENSORS
group:android.permission-group.LOCATION
permission:android.permission.ACCESS_FINE_LOCATION
permission:android.permission.ACCESS_COARSE_LOCATION
group:android.permission-group.STORAGE
permission:android.permission.READ_EXTERNAL_STORAGE
permission:android.permission.WRITE_EXTERNAL_STORAGE
group:android.permission-group.MICROPHONE
permission:android.permission.RECORD_AUDIO
group:android.permission-group.SMS
permission:android.permission.READ_SMS
permission:android.permission.RECEIVE_WAP_PUSH
permission:android.permission.RECEIVE_MMS
permission:android.permission.RECEIVE_SMS
permission:android.permission.SEND_SMS
permission:android.permission.READ_CELL_BROADCASTS