当前位置: 首页 > wzjs >正文

做网站的程序员工资大约月薪怎么在百度上推广自己

做网站的程序员工资大约月薪,怎么在百度上推广自己,广州新际网站建设,苏宁网站建设和推广策略OpenHarmony子系统开发 - 安全(二) 三、应用权限管理开发指导 运作机制 由于OpenHarmony允许安装三方应用,所以需要对三方应用的敏感权限调用进行管控,具体实现是应用在开发阶段就需要在应用配置文件中指明此应用在运行过程中可…

OpenHarmony子系统开发 - 安全(二)

三、应用权限管理开发指导

运作机制

由于OpenHarmony允许安装三方应用,所以需要对三方应用的敏感权限调用进行管控,具体实现是应用在开发阶段就需要在应用配置文件中指明此应用在运行过程中可能会调用哪些敏感权限,这些权限包括静态权限和动态权限,静态权限表示只需要在安装阶段注册就可以,而动态权限一般表示获取用户的敏感信息,所以需要在运行时让用户确认才可以调用,授权方式包括系统设置应用手动授权等。除了运行时对应用调用敏感权限进行管控外,还需要利用应用签名管控手段确保应用安装包已经被设备厂商进行了确认。

表1 OpenHarmony系统权限列表

OpenHarmony系统权限授权方式权限说明
ohos.permission.LISTEN_BUNDLE_CHANGEsystem_grant(静态权限)允许该应用获取应用变化消息。
ohos.permission.GET_BUNDLE_INFOsystem_grant(静态权限)允许该应用获取应用信息。
ohos.permission.INSTALL_BUNDLEsystem_grant(静态权限)允许该应用安装应用。
ohos.permission.CAMERAuser_grant(动态权限)此应用可随时使用相机拍摄照片和录制视频。
ohos.permission.MODIFY_AUDIO_SETTINGSsystem_grant(静态权限)允许该应用修改全局音频设置,例如音量和用于输出的扬声器。
ohos.permission.READ_MEDIAuser_grant(动态权限)允许该应用读取您的视频收藏。
ohos.permission.MICROPHONEuser_grant(动态权限)此应用可随时使用麦克风进行录音。
ohos.permission.WRITE_MEDIAuser_grant(动态权限)允许该应用写入您的音乐收藏。
ohos.permission.DISTRIBUTED_DATASYNCuser_grant(动态权限)管控分布式数据传输能力。
ohos.permission.DISTRIBUTED_VIRTUALDEVICEuser_grant(动态权限)允许应用使用分布式虚拟能力。

icon-note.gif

说明:

  1. 静态权限指应用安装时由系统授予的权限,对应于权限敏感级别的system_grant。动态权限指应用在运行过程中需要用户授权的权限,对应于权限敏感级别的user_grant。

  2. 不同应用模型的应用配置文件不同,FA模型为config.json,Stage模型为module.json5。应用模型相关解释可参考应用模型解读。

场景介绍

应用权限是软件用来访问系统资源和使用系统能力的一种通行方式。在涉及用户隐私相关功能和数据的场景,例如:访问个人设备的硬件特性,如摄像头、麦克风,以及读写媒体文件等,OpenHarmony通过应用权限管理组件来保护这些数据以及能力。

在系统应用开发过程中,如果应用要使用敏感权限,开发者可以调用应用权限管理组件接口检查待访问权限是否被授权,如果未授权,操作不允许。

接口说明

应用权限管理提供的API接口,当前仅供系统应用和系统服务调用,具体API接口如下。

表2 应用权限管理API接口功能介绍

接口名描述
int CheckPermission(int uid, const char *permissionName)检查指定UID的应用进程是否具有访问系统服务API的权限。
int CheckSelfPermission(const char *permissionName)检查调用者是否具有访问系统服务API的权限。
int QueryPermission(const char *identifier, PermissionSaved **permissions, int *permNum)查询应用申请的所有权限,并检查权限是否被授予。
int GrantPermission(const char *identifier, const char *permName)将指定权限授予应用程序。
int RevokePermission(const char *identifier, const char *permName)收回应用程序的指定权限。
int GrantRuntimePermission(int uid, const char *permissionName)应用运行时动态授予指定权限。
int RevokeRuntimePermission(int uid, const char *permissionName)应用运行时动态撤销指定权限。

开发步骤

本部分以包管理器的应用权限开发为例进行讲解。开发过程中,首先需要明确涉及的敏感权限,并在config.json中声明该权限,在安装应用程序时,包管理器会调用应用权限管理组件的接口检查该权限是否被授予,若授予,安装流程正常进行,否则安装失败。

  1. 在开发过程中,包管理器明确需要安装应用的权限(ohos.permission.INSTALL_BUNDLE),并在config.json中声明该权限。 FA模型:需要在config.json中声明权限,示例:
{"module": {"package": "ohos.demo.kitframework","deviceType": ["phone", "tv","tablet", "car","smartWatch","sportsWatch","smartCamera", "smartVision"],"reqPermissions": [{"name": "ohos.permission.INSTALL_BUNDLE","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}},{"name": "ohos.permission.LISTEN_BUNDLE_CHANGE","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}},{"name": "ohos.permission.GET_BUNDLE_INFO","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}}]}
}

Stage模型:需要在module.json5中声明权限,示例:

{"module": {"requestPermissions": [{"name": "ohos.permission.INSTALL_BUNDLE","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}},{"name": "ohos.permission.LISTEN_BUNDLE_CHANGE","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}},{"name": "ohos.permission.GET_BUNDLE_INFO","reason": "install bundle","usedScene": {"ability": ["KitFramework"],"when": "always"}}]}
}
  1. 当包管理器开发应用安装功能接口时,会调用权限管理相关接口检查自身是否具有安装应用程序的权限,例如:以安装应用的权限名"ohos.permission.INSTALL_BUNDLE"作为入参,调用CheckPermission接口检查包管理器是否具有安装应用的权限,如果有权限,安装流程继续执行,否则返回安装失败。

    constexpr static char PERMISSION_INSTALL_BUNDLE[] = "ohos.permission.INSTALL_BUNDLE";bool Install(const char *hapPath, const InstallParam *installParam, InstallerCallback installerCallback)
    {if ((hapPath == nullptr) || (installerCallback == nullptr) || (installParam == nullptr)) {HILOG_ERROR(HILOG_MODULE_APP, "BundleManager install failed due to nullptr parameters");return false;}// 检查ohos.permission.INSTALL_BUNDLE权限是否被授予。if (CheckPermission(0, static_cast<const char *>(PERMISSION_INSTALL_BUNDLE)) != GRANTED) {HILOG_ERROR(HILOG_MODULE_APP, "BundleManager install failed due to permission denied");return false;  // 返回安装失败。}// 安装流程。...
    }
    
http://www.dtcms.com/wzjs/210640.html

相关文章:

  • 免费模板简历网站培训心得体会1500字
  • 高端网站建设公网络营销的概念和特征
  • 网站宽度 超宽指数分布的分布函数
  • 外贸型网站建设网络营销的职能有哪些
  • 贵州高端建设网站免费的网站平台
  • 邵阳多用户商城网站建设淘宝直通车
  • 长春疫情最新消息今天封区了seo牛人
  • 做网站程序员风云榜百度
  • 前端后端都是网站开发吧网站seo优化方法
  • 重庆微网站制作公司怎么在网上推广
  • 南通给公司做网站的神马网站快速排名案例
  • 网站建设领先韩国比分预测
  • 整站优化服务搜索引擎推广试题
  • 建站系统破解全球搜索引擎网站
  • 常州网站建设公司市场百度关键词排名批量查询工具
  • 企业网站建设方案 wordseo外包方法
  • wordpress怎么加sitemapseo还能赚钱吗
  • 网站建设 宁夏51链
  • 西安网站架设公司郑州企业网络推广外包
  • 一学一做专题网站阿里指数在哪里看
  • 智慧党建门户网站建设方案seo搜索引擎优化的内容
  • 生态文明建设网站专题培训网站检测中心
  • 宁波北京网站建设品牌推广方案
  • 企业管理软件a6seo快速排名软件品牌
  • 2018年靖边建设项目招投标网站广西seo经理
  • wordpress 安装 主题seo怎么做新手入门
  • 室内设计方案讲解思路网店搜索引擎优化的方法
  • 做网站的必备软件百度一下了你就知道官网
  • 武汉建设信息网站官网昆山seo网站优化软件
  • 大兴区建设委员会网站网络舆情处置的五个步骤