reqPermissions权限申请

表12 reqPermissions权限申请字段说明

属性名称

含义

数据类型

是否可缺省

name

需要使用的权限名称。

字符串

reason

描述申请权限的原因。需要做多语种适配。

字符串

分情况:当申请的权限为user_grant时,必须填写此字段,否则不允许在应用市场上架;其他权限可缺省,缺省为空

usedScene

描述权限使用的场景和时机。场景类型如下两种:

- ability:ability的名称,可配置多个。

- when:调用时机,可填的值有inuse(使用时)、always(始终)。

对象

可缺省,缺省值为空。

when可缺省,缺省值为"inuse"

usedScene对象内部结构

表13 usedScene对象内部结构说明

属性名称

含义

数据类型

是否可缺省

ability

标识哪些Ability需要此权限,里面配置Ability的名称。

字符串数组

可以缺省,缺省表示所有Ability都需要此权限。

when

标识此权限的使用时间:

inuse: 使用时需要此权限。

always: 所有时间都需要此权限。

枚举值

可缺省,缺省值为空。

 

js对象的内部结构

表14 js对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识JS Component的名字。

字符串

不可缺省。

pages

标识JS Component的页面用于列举JS Component中每个页面的路由信息,格式为“页面路径+页面名称”。其中,页面路径是以当前Ability的srcPath字段取值为基准,例如srcPath取值为EntryAbility,则JS Component页面路径需要从EntryAbility的下一层开始描述。该标签取值为数组,数组第一个元素代表JS FA首页。

字符串数组

不可缺省。

window

用于定义与显示窗口相关的配置。

对象

可缺省,缺省值见表15。

type

标识JS应用的类型。取值范围如下:

normal:标识该JS Component为应用实例。

form:标识该JS Component为卡片实例。

字符串

可缺省,缺省值为"normal"。

mode

定义JS组件的开发模式。

对象

可缺省,缺省值为空。

window对象的内部结构

表15 window对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

designWidth

标识页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。

数值

可缺省,缺省值为720px。

autoDesignWidth

标识页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。

布尔值

可缺省,缺省值为false。

mode对象的内部结构

表16 mode对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

type

定义JS组件的功能类型。

字符串,取值为"pageAbility"、"form"

可缺省,缺省值为pageAbility。

syntax

定义JS组件的语法类型。

字符串,取值为"hml","ets"

可缺省,默认值为"hml"。

 js示例:

"js": [
  {
    "name": ".EntryAbility",
    "pages": [
      "pages/index",
      "pages/detail/detail"
    ],
    "window": {
      "designWidth": 720,
      "autoDesignWidth": false
    },
    "type": "form",
    "mode": {
      "syntax": "ets",
      "type": "pageAbility"
    }
  }
]

shortcuts对象的内部结构

表17 shortcuts对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

shortcutId

标识快捷方式的ID。字符串的最大长度为63字节。

字符串

不可缺省。

label

标识快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。

字符串

可缺省,缺省为空。

icon

标识快捷方式的图标信息。取值为表示icon的资源索引。

字符串

可缺省,缺省为空。

intents

标识快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass, targetBundle。

对象数组

可缺省,缺省为空。

intents对象的内部结构

表18 intents对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

targetClass

标识快捷方式目标类名。

字符串

可缺省,缺省值为空。

targetBundle

标识快捷方式目标Ability所在应用的包名。

字符串

可缺省,缺省值为空。

shortcuts示例:

"shortcuts": [
  {
    "shortcutId": "id",
    // $string:shortcut 为配置的字符串资源值
    "label": "$string:shortcut",
    "intents": [
      {
        "targetBundle": "com.example.world.test",
        "targetClass": "com.example.world.test.entry.EntryAbility"
      }
    ]
  }
]

forms对象的内部结构

表19 forms对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识卡片的类名。字符串最大长度为127字节。

字符串

不可缺省。

description

标识卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。

字符串

可缺省,缺省为空。

isDefault

标识该卡片是否为默认卡片,每个Ability有且只有一个默认卡片。

true:默认卡片。

false:非默认卡片。

布尔值

不可缺省。

type

标识卡片的类型。取值范围如下:

JS:JS卡片。

Java:Java卡片。

字符串

不可缺省。

colorMode

标识卡片的主题样式,取值范围如下:

auto:自适应。

dark:深色主题。

light:浅色主题。

字符串

可缺省,缺省值为"auto"。

supportDimensions

标识卡片支持的外观规格,取值范围:

1 * 2:表示1行2列的二宫格。

2 * 1:表示2行1列的二宫格。

2 * 2:表示2行2列的四宫格。

2 * 4:表示2行4列的八宫格。

4 * 4:表示4行4列的十六宫格。

字符串数组

不可缺省。

defaultDimension

标识卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。

字符串

不可缺省。

updateEnabled

标识卡片是否支持周期性刷新,取值范围:

true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。

false:表示不支持周期性刷新。

布尔类型

不可缺省。

scheduledUpdateTime

标识卡片的定点刷新的时刻,采用24小时制,精确到分钟。

字符串

可缺省,缺省值为"0:0"。

updateDuration

标识卡片定时刷新的更新周期,单位为30分钟,取值为自然数。

当取值为0时,表示该参数不生效。

当取值为正整数N时,表示刷新周期为30*N分钟。

数值

可缺省,缺省值为"0"。

formConfigAbility

标识用于调整卡片的设施或活动的名称。

字符串

可缺省,缺省值为空。

jsComponentName

标识JS卡片的Component名称。字符串最大长度为127字节。仅当卡片类型为JS卡片时,需要配置该标签。

字符串

可缺省,缺省值为空。

metaData

标识卡片的自定义信息,包含customizeData数组标签。

对象

可缺省,缺省值为空。

formVisibleNotify

标识是否允许卡片使用卡片可见性通知。

true:允许。

false:不允许。

布尔值

可缺省,缺省值为false。

customizeData对象内部结构

表20 customizeData对象内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识数据项的键名称。字符串最大长度为255字节。

字符串

可缺省,缺省值为空。

value

标识数据项的值。字符串最大长度为255字节。

字符串

可缺省,缺省值为空。

extra

标识当前custom数据的格式,取值为表示extra的资源值。

字符串

可缺省,缺省值为空。

forms示例:
 

"forms": [
  {
    "name": "Form_Js",
    "description": "It's Js Form",
    "type": "JS",
    "jsComponentName": "card",
    "colorMode": "auto",
    "isDefault": true,
    "updateEnabled": true,
    "scheduledUpdateTime": "11:00",
    "updateDuration": 1,
    "defaultDimension": "2*2",
    "supportDimensions": [
      "2*2",
      "2*4",
      "4*4"
    ]
  },
  {
    "name": "Form_Js",
    "description": "It's JS Form",
    "type": "Js",
    "colorMode": "auto",
    "isDefault": false,
    "updateEnabled": true,
    "scheduledUpdateTime": "21:05",
    "updateDuration": 1,
    "defaultDimension": "1*2",
    "supportDimensions": [
      "1*2"
    ],
    "landscapeLayouts": [
      "$layout:ability_form"
    ],
    "portraitLayouts": [
      "$layout:ability_form"
    ],
    "formConfigAbility": "ability://com.example.myapplication.fa/.EntryAbility",
    "metaData": {
      "customizeData": [
        {
          "name": "originWidgetName",
          "value": "com.example.weather.testWidget"
        }
      ]
    }
  }
]

distroFilter对象的内部结构

表21 distroFilter对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

apiVersion

标识支持的apiVersion范围。

对象数组

可缺省,缺省值为空。

screenShape

标识屏幕形状的支持策略。

对象数组

可缺省,缺省值为空。

screenWindow

标识应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。

对象数组

可缺省,缺省值为空。

screenDensity

标识屏幕的像素密度(dpi:Dots Per Inch)。

对象数组

可缺省,缺省值为空。

countryCode

标识分发应用时的国家码。具体值参考ISO-3166-1的标准,支持多个国家和地区的枚举定义。

对象数组

可缺省,缺省值为空。

apiVersion对象的内部结构

表22 apiVersion对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

policy

标识该子属性取值规则。配置为“exclude”或“include”。

- exclude:表示需要排除的value属性。

- include:表示需要包含的value属性。

字符串

不可缺省。

value

支持的取值为API Version存在的整数值,例如4、5、6。场景示例:某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。

数组

不可缺省。

screenShape对象的内部结构

表23 screenShape对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

policy

标识该子属性取值规则。配置为“exclude”或“include”。

- exclude:表示需要排除的value属性。

- include:表示需要包含的value属性。

字符串

不可缺省。

value

支持的取值为API Version存在的整数值,例如4、5、6。场景示例:某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。

数组

不可缺省。

screenWindow对象的内部结构

表24 screenWindow对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

policy

标识该子属性取值规则。配置为“exclude”或“include”。

- exclude:表示需要排除的value属性。

- include:表示需要包含的value属性。

字符串

不可缺省。

value

支持的取值为API Version存在的整数值,例如4、5、6。场景示例:某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。

数组

不可缺省。

screenDensity对象的内部结构

表25 screenDensity对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

policy

标识该子属性取值规则。配置为“exclude”或“include”。

- exclude:表示需要排除的value属性。

- include:表示需要包含的value属性。

字符串

不可缺省。

value

取值范围如下:

sdpi:表示小规模的屏幕密度(Small-scale Dots Per Inch),适用于dpi取值为(0,120]的设备。

mdpi:表示中规模的屏幕密度(Medium-scale Dots Per Inch),适用于dpi取值为(120,160]的设备。

ldpi:表示大规模的屏幕密度(Large-scale Dots Per Inch),适用于dpi取值为(160,240]的设备。

xldpi:表示特大规模的屏幕密度(Extra Large-scale Dots Per Inch),适用于dpi取值为(240,320]的设备。

xxldpi:表示超大规模的屏幕密度(Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(320,480]的设备。

xxxldpi:表示超特大规模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(480,640]的设备。

数组

不可缺省。

countryCode对象的内部结构

表26 countryCode对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

policy

标识该子属性取值规则。配置为“exclude”或“include”。

- exclude:表示需要排除的value属性。

- include:表示需要包含的value属性。

字符串

不可缺省。

value

该标签标识应用需要分发的国家码,标签为字符串数组,子串表示支持的国家或地区,由两个大写字母表示。

字符串数组

不可缺省。

distroFilter示例:
 

"distroFilter":  {
  "apiVersion": {
    "policy": "include",
    "value": [4,5]
  },
  "screenShape": {
    "policy": "include",
    "value": ["circle","rect"]
  },
  "screenWindow": {
    "policy": "include",
    "value": ["454*454","466*466"]
  },
  "screenDensity":{
    "policy": "exclude",
    "value": ["ldpi","xldpi"]
  },
  "countryCode": {
    "policy":"include",
    "value":["CN","HK"]
  }
}

commonEvents对象的内部结构

表27 commonEvents对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识静态公共事件名称,该标签最大长度为127字节。

字符串

不可缺省。

permission

此标签标识实现静态公共事件所需要申请的权限,该标签最大长度为255字节。

字符串

可缺省,缺省值为空。

data

标识配置当前静态公共事件要携带的附加数据数组。

字符串数组

可缺省,缺省值为空。

type

该标签用于配置当前静态公共事件的分类数组。

字符串数组

可缺省,缺省值为空。

events

此标签标识可接收的意图的一组事件值。一般由系统预定义,也可以自定义。

字符串数组

不可缺省。

commonEvents示例:
 

"commonEvents": [
  {
    "name": ".EntryAbility",
    "permission": "ohos.permission.GET_BUNDLE_INFO",
    "data": [
      "com.example.demo",
      "100"
    ],
    "events": [
      "install",
      "update"
    ]
  }
]

testRunner对象的内部结构

表28 testRunner对象的内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识测试框架对象名称,该标签最大长度为255字节。

字符串

不可缺省。

srcPath

标识测试框架代码路径,该标签最大长度为255字节。

字符串

不可缺省。

 

"testRunner": {
  "name": "myTestRunnerName",
  "srcPath": "etc/test/TestRunner.ts"
}

definePermission仅支持系统应用配置,三方应用配置不生效。

definePermissions对象内部结构

表29 definePermissions对象内部结构说明

属性名称

含义

数据类型

是否可缺省

name

标识权限的名称,该标签最大长度为255字节。

字符串

不可缺省。

grantMode

标识权限的授予方式,支持如下两种授予模式如下:

- system_grant:安装后系统自动授予该权限。

- user_grant:使用时动态申请,用户授权后才可使用。

字符串

可缺省,缺省值为system_grant。

availableLevel

标识权限限制类别,可选值如下:

- system_core:系统核心权限。

- system_basic:系统基础权限。

- normal:普通权限。所有应用允许申请的权限。

字符串

可缺省,缺省值为normal。

provisionEnable

标识权限是否支持证书方式申请权限,包括高级别的权限。配置为true标识开发者可以通过provision方式申请权限。

布尔值

可缺省,缺省值为true。

distributedSceneEnabled

标识权限是否支持分布式场景下使用该权限。

布尔值

可缺省,缺省值为false。

label

标识权限的简短描述,配置为对描述内容的资源索引。

字符串

可缺省,缺省值为空。

description

标识权限的详细描述,可以是字符串(最大长度为255字节),或者为对描述内容的资源索引。

字符串

可缺省,缺省值为空。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐