HarmonyOS 鸿蒙Next 调用power.shutdownDevice接口,提示permission check fail
HarmonyOS 鸿蒙Next 调用power.shutdownDevice接口,提示permission check fail 想实现一键关机。。。
api version 7 使用JS开发,调用JS接口power.shutdownDevice,点击按钮没反应。。。
提示:
02-22 12:51:30.503 5945-4217/com.example.myapplication E 02900/PowerMgrClient: [power_mgr_client.cpp] ShutDownDevice# ShutDownDevice called.
02-22 12:51:30.504 22460-26974/? E 02901/PowerMgrService: [power_mgr_service.cpp] ShutDownDevice# ShutDownDevice Request failed, 5945 permission check fail
这是index.js的代码,前端通过一个按钮事件调用
import power from '@ohos.power';
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
},
shutdown(){
power.shutdownDevice("shutdown_test");
//power.rebootDevice("tets");
console.info('power_shutdown_device_test success')
}
}
这是config.json权限申请代码:
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"version": {
"code": 1000000,
"name": "1.0.0"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"mainAbility": "com.example.myapplication.MainAbility",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": false
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"visible": true,
"name": "com.example.myapplication.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:entry_MainAbility",
"type": "page",
"launchType": "standard"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": true
}
}
],
"reqPermissions": [
{
"name": "ohos.permission.SHUTDOWN",
"reason": "shutdown_test",
"usedScene": {
"ability": [
"com.example.myapplication.MainAbility"
],
"when": "always"
}
}
]
}
}
更多关于HarmonyOS 鸿蒙Next 调用power.shutdownDevice接口,提示permission check fail的实战教程也可以访问 https://www.itying.com/category-93-b0.html
楼主你好,接口为系统接口,第三方应用使用不了。
更多关于HarmonyOS 鸿蒙Next 调用power.shutdownDevice接口,提示permission check fail的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
那要如何调用系统接口?有像安卓那样开发系统应用的方法吗?有没有办法实现手机关机功能?
楼主你好,这个问题已反馈,请耐心等待,
楼主你好,shutdown是系统接口,仅系统应用有权限调用,普通应用会报无权限,想调用此接口实现关机功能,请申请开发系统应用。
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
大哥,最终通过代码实现一键关机吗?
没有,放弃了。。。
老哥,我现在也在搞通过代码实现一键关机,能指点一下吗,
欢迎开发小伙伴们进来帮帮楼主
针对帖子标题中提到的HarmonyOS 鸿蒙Next调用power.shutdownDevice
接口时提示“permission check fail”的问题,这通常意味着应用缺少执行关机操作所需的权限。
在HarmonyOS中,调用系统级功能如关机通常需要特定的系统权限。以下是一些可能的解决步骤:
-
检查权限声明:确保你的应用已在
config.json
文件中正确声明了关机所需的权限。对于关机操作,可能需要类似ohos.permission.SHUT_DOWN
的权限(注意:具体权限名称需参考HarmonyOS官方文档,因为权限名称可能随系统版本更新而变化)。 -
动态请求权限:如果权限需要在运行时动态请求(这取决于HarmonyOS的版本和应用的目标SDK版本),确保你的代码在调用
power.shutdownDevice
之前已经请求并获得了该权限。 -
签名验证:确认你的应用是否已使用符合HarmonyOS要求的证书进行签名。某些系统级权限可能要求应用具有特定的签名证书。
-
系统策略:了解并遵守HarmonyOS关于关机操作的系统策略,如是否有特定用户交互要求(如用户确认)。
如果上述步骤都正确无误,但问题依旧存在,可能是由于系统限制或bug导致。此时,建议联系HarmonyOS的官方支持渠道或开发者社区寻求帮助。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,