HarmonyOS next 示例代码全集
HarmonyOS_Samples/DeviceSecurityKit_SampleCode_TrustedAppServiceDemo_ArkTS
设备安全服务-可信应用服务
介绍
本示例向您介绍如何在应用中使用可信应用服务开发安全摄像头和安全地理位置功能。
需要使用可信应用服务接口 @kit.DeviceSecurityKit。
效果预览
Sample工程的配置与使用
在DevEco中配置Sample工程的步骤如下
- 创建项目及应用。
- 打开Sample应用,使用AppGallery Connect配置的应用包名替换app.json5文件中的bundleName属性值。
- 生成SHA256应用签名证书指纹并添加到AppGallery Connect对应的应用配置中,证书指纹生成请参考应用开发准备中的添加公钥指纹章节。
- 在AppGallery Connect开通可信应用服务,具体请参见Device Security Kit开发指南。
Sample工程使用说明
- 运行该Sample应用前,先对设备进行联网,并打开位置信息。
- 运行该Sample应用,点击"打开安全相机"按钮打开安全摄像头,圆形组件中会显示前置摄像头采集到的安全图像,如果验证签名失败会显示文字提示,点击"关闭安全相机"按钮关闭安全摄像头。
- 运行该Sample应用,点击"获取地理位置(速度优先)"按钮,文本框中会显示速度优先策略下获取到的位置信息,点击"获取地理位置(精度优先)"按钮,文本框中会显示速度优先策略下获取到的位置信息,如果获取位置信息失败,或者验证签名失败,会显示文字提示。
工程目录
├─entry/src/main/ets // 代码区
│ ├─common
│ │ └─CertChain.ets // 证书链相关操作类
│ │ └─Permission.ets // 权限相关操作类
│ │ └─TrustedServiceOption.ets // 可信应用服务接口参数
│ ├─entryability
│ │ └─EntryAbility.ets // 程序入口类
│ ├─entrybackupability
│ │ └─EntryBackupAbility.ets
│ ├─model
│ │ └─SecureCamera.ets // 安全相机类
│ │ └─EntryBackupAbility.ets // 安全地理位置类
│ ├─pages
│ │ └─Index.ets // 首页,获取安全图像、安全地理位置的页面
具体实现
本示例展示可信应用服务的两种使用场景,分别是安全摄像头和安全地理位置,使用initCamera(surfaceId: string, callback: AsyncCallback<string>)
方法初始化安全摄像头,在image.ImageReceiver
的imageArrival
事件中处理安全图像;使用LocationService.getVerifiedSecureLocation(priority: trustedAppService.LocatingPriority)
获取验证签名后的安全地理位置信息。
参考
- entry/src/main/ets/entryability/EntryAbility.ets
- entry/src/main/ets/model/SecureCamera.ets
- entry/src/main/ets/model/SecureLocation.ets
相关权限
- 允许应用使用相机权限:ohos.permission.CAMERA
- 允许应用获取设备位置信息权限:ohos.permission.LOCATION
- 允许允许应用获取设备模糊位置信息权限:ohos.permission.APPROXIMATELY_LOCATION
依赖
依赖设备联网,并且打开位置信息开关。
约束与限制
1.本示例仅支持标准系统上运行,支持设备:华为手机。
2.HarmonyOS系统:HarmonyOS NEXT Developer Beta1及以上。
3.DevEco Studio版本:DevEco Studio NEXT Developer Beta1及以上。
4.HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta1 SDK及以上。