目录

应用管理

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

语法:

  1. summer.getAppVersion()

返回值:
返回值是字符串类型,其结构是

  1. {
  2. "versionCode":"3" //对于android,是对应配置文件中的android-versioncode值,对于ios则是对应配置文件中的version
  3. "versionName":"1.0.3" //无论android还是ios,都是对应配置文件界面中的version
  4. }

对应配置文件中的值:

示例代码:

  1. var versionInfo = summer.getAppVersion();//返回字符串类型
  2. var version = JSON.parse(versionInfo);//转换为json
  3. alert(version.versionCode)//对于android,结果:"3";对于ios,结果是1.0.3
  4. alert(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

语法:

  1. summer.upgradeApp(json, successFn, errorFn);
  2. //例如
  3. summer.upgradeApp({
  4. url:""
  5. },function(){
  6. },function(){
  7. })

参数:

  • json:是该方法所需要的参数,核心参数为url
    • url : 更新文件地址
    • timeout:超时时间,单位秒
  • successFn:是成功回调
  • errorFn:是失败回调

返回值:
正确回调返回值是一个json,其格式如下:

  1. {
  2. state:"1",//下载的状态取值范围0 | 1 0表示未下载完 1表示下载完成
  3. savePath''//下载app后的保存路径
  4. }

错误回调返回值是一个json,其格式如下:

  1. {
  2. msg:"服务器地址链接超时",//下载失败的原因
  3. }

android示例代码:

  1. summer.upgradeApp({
  2. url:"http://来个apk的下载地址吧.apk"
  3. },function(ret){
  4. },function(ret){
  5. })

ios示例代码:

  1. summer.upgradeApp({
  2. url:"itms-services://?action=download-manifest&url=https://你的plist下载路径.plist"
  3. },function(ret){
  4. },function(ret){
  5. })

补充说明:
该方法支持
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

语法:

  1. 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

语法:

  1. summer.upgrade(json, successFn, errorFn);
  2. //例如
  3. summer.upgrade({
  4. url:""
  5. },function(){
  6. },function(){
  7. })

参数:

  • json:是该方法所需要的参数,核心参数为url
    • url : 更新文件地址
    • timeout:超时时间,单位秒
  • successFn:是成功回调
  • errorFn:是失败回调

返回值:
正确回调返回是一个json,其格式如下:

  1. {
  2. state:"1",//下载的状态取值范围0 | 1 0表示未下载完 1表示下载完成
  3. savePath''//下载app后的保存路径
  4. }

错误回调返回值是一个json,其格式如下:

  1. {
  2. msg:"服务器地址链接超时",//下载失败的原因
  3. }

示例代码:

  1. summer.upgrade({
  2. "url":"http://123.103.9.205:8090/mwap/"+jsonVersionInfoOfServer.download,
  3. showProgress:true,
  4. "version":{
  5. versionCode:jsonVersionInfoOfServer.versionCode,//此处需指定versionCode,versionCode为服务器端最新安装包的版本号
  6. versionName:jsonVersionInfoOfServer.versionName//此处需指定versionName为最新版本
  7. }
  8. }, function(res){
  9. if(res.isfinish == true){
  10. summer.openWin({ //下载完成后重新打开页面,为已更新的新版本
  11. id:'index', //此处id不能为root
  12. url:'index.html',
  13. isKeep:false
  14. });
  15. }
  16. },function(){
  17. alert("app升级error");
  18. })

补充说明:
该方法支持
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

语法:

  1. summer.installApp({params})

参数:

  • json
    • appUri:类型:字符串,默认值:无,描述:目标应用的资源文件标识。Android上为apk包的本地路径,如file://xxx.apk;iOS上为应用安装包对应的plist文件地址

示例代码:

  1. //Android用法:
  2. summer.installApp({
  3. appUri: 'file://xx/xxx.apk'
  4. });
  5. //iOS用法:
  6. summer.installApp({
  7. appUri: "itms-services://?action=download-manifest&url=https://你的plist下载路径.plist"//安装包对应plist地址
  8. });

可用性:
iOS系统,Android系统
可提供的1.0.0及更高版本

summer.uninstallApp() (暂不支持)

卸载应用,只支持Android

语法:

  1. summer.uninstallApp({params})

参数:

  • json
    • packageName:类型:字符串,默认值:无,描述:要卸载的应用的包名

示例代码:

  1. summer.uninstallApp({
  2. packageName: 'com.yourcompany.yourapp'
  3. });

补充说明:

可用性:
仅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:成功或失败回调执行的函数

示例:

  1. summer.openApp({
  2. "ios_appid" : "weixin",
  3. "android_packagename" : "com.tencent.mm",
  4. "type":"scheme", //summer 应用直接打开传值需要配置上此参数。
  5. "param" : {},(暂不支持)
  6. "callback" : "mycallback()"
  7. });
  8. function mycallback(args){
  9. $summer.alert(args); //args:{"status":"打开成功","code":"1"}
  10. }

type 用法详情见: https://github.com/initKing/Summer.openApp

用手机safari浏览器 打开百度示例:

  1. summer.openApp({
  2. "ios_appid" : "http",
  3. "query" : "www.baidu.com",
  4. "param" : {
  5. 'name' : ''
  6. }, //文件名
  7. "callback" : function() {
  8. alert("success");
  9. }
  10. })

可用性:
iOS系统,Android系统

openApp示例代码

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()

参数:

返回值:

示例代码:

  1. function btn0_click(){
  2. if(confirm("真的要退出应用吗?")){
  3. summer.exitApp();
  4. }
  5. }

说明:
仅适用于android

应用权限

summer.getPermission()(仅Android)

发起权限申请, Andriod6.0及以上版本使用某项权限时需要先调用此方法发起权限申请,

注意:可以重复申请,已经有权限的不会弹框

语法:

  1. summer.getPermission([], function(){
  2. }, function(){
  3. })

参数:

  • []:所需权限参数,多个权限用逗号分隔
  • successFn:成功回调函数
  • errorFn:失败回调函数

示例:

  1. var params = ["android.permission.READ_PHONE_STATE","android.permission.ACCESS_FINE_LOCATION"];
  2. summer.getPermission(params, function(args){
  3. alert(args); //成功返回OK
  4. }, function(args){
  5. alert(args); //失败返回illegal access
  6. })

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

文档更新时间: 2019-03-01 12:16