1# 申请受限权限 2 3<!--Kit: Ability Kit--> 4<!--Subsystem: Security--> 5<!--Owner: @xia-bubai--> 6<!--Designer: @linshuqing; @hehehe-li--> 7<!--Tester: @leiyuqian--> 8<!--Adviser: @zengyawen--> 9 10受限权限通常不允许第三方应用申请。当应用需要访问必要资源时,如果发现某些权限的等级高于应用权限等级(APL),开发者可以通过ACL方式来解决等级不匹配的问题,从而使用受限权限。 11 12举例说明:应用需要使用全局悬浮窗时,需申请ohos.permission.SYSTEM_FLOAT_WINDOW权限(system_basic等级);需要截取屏幕图像时,需申请ohos.permission.CAPTURE_SCREEN权限(system_core等级)。此时,normal应用需要跨级别申请该权限。 13 14本节提供两种调试方法。这两种方式均不可用于发布上架应用市场。如需发布商用版本,请在对应的应用市场申请发布证书和签名文件。 15 16- 方式一:通过DevEco Studio完成[ACL方式跨级别申请权限](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-signing)。 17 18- 方式二:直接修改HarmonyAppProvision配置文件。 19 1. 打开HarmonyAppProvision配置文件,即SDK目录下的“Sdk/openharmony/_{Version} _/toolchains /lib/UnsgnedReleasedProfileTemplate.json”文件。 20 2. 在配置文件中添加需要使用的受限权限。 21 22 - 不携带权限数据的受限权限可通过修改 "acls" > "allowed-acls" 字段来添加。 23 - 携带权限数据的受限权限可通过修改 "app-services-capabilities" 字段添加。 24 25 ```json 26 { 27 // ... 28 "acls":{ 29 "allowed-acls":[ 30 "ohos.permission.WRITE_AUDIO", 31 "ohos.permission.CAPTURE_SCREEN" 32 ] 33 }, 34 "app-services-capabilities": { 35 "ohos.permission.ACCESS_DDK_DRIVERS": "..." 36 } 37 } 38 ``` 39 40 3. 重新对应用进行签名。 41