• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,9131,685

hvigor/06-May-2025-2422

screenshot/06-May-2025-

.gitignoreD06-May-202598 99

README_zh.mdD06-May-20255.4 KiB8557

build-profile.json5D06-May-20251 KiB4241

hvigorfile.tsD06-May-2025772 171

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252 KiB7256

oh-package.json5D06-May-2025818 2725

ohosTest.mdD06-May-2025927 1310

README_zh.md

1# 小鸟避障游戏
2
3### 介绍
4
5本示例用于验证OpenHarmony提供的Stage模型,Canvas组件做小游戏的能效是否符合预期,以及验证资源调度子系统的API接口是否符合后台规范运行的预期。
6
7### 效果预览
8
9|首页更新前                                   |首页更新后                                |
10|---------------------------------------|-------------------------------------|
11|![](screenshot/snapshot1.png) |![](screenshot/snapshot2.png)|
12
13使用说明
14
151.点击**ConnectService**按钮,创建一个ServiceAbility并连接。
16
172.点击**DisconenctService**按钮,断开ServiceAbility。
18
193.点击**set game alarm**按钮,利用闹钟提醒代理API,验证游戏进程在收到闹铃通知时不被拉起。
20
214.点击**set game calendar**按钮,利用日历提醒代理API,验证游戏进程在收到日历通知时不被拉起。
22
235.点击**start game**按钮,选择对应的游戏难度1-5关玩游戏,游戏玩的过程中会利用后台信息统计API统计展示游戏在线时长。
24
256.点**home**按钮后,应用生命周期为onInactive, 在此回调中起一个短时任务,验证短时任务API能否正常执行。
26
27### 工程目录
28```
29entry/src/main/ets/
30|---component
31|   |---OperateView.ets                          // 操作
32|   |---TitleBar.ets                             // 标题
33|---entryability
34|   |---EntryAbility.ts
35|---model
36|   |---Logger.ts                                // 日志工具
37|   |---ServiceModel.ets                         // 服务连接
38|---pages
39|   |---Index.ets                                // 首页
40|   |---Game.ets                                 // 绘制游戏
41|   |---Selects.ets                              // 选择关卡
42|---ServiceAbility
43|   |---service.ts                               // 日志工具
44```
45### 具体实现
46
47* 该示例使用ServiceExtension接口验证提供的Stage模型,Canvas组件绘制小游戏,queryBundleStatsInfos接口通过指定起始和结束时间查询应用使用时长统计信息来统计展示游戏在线时长,requestSuspendDelay接口申请后台应用延迟挂起来验证短时任务API能否正常执行,rpc接口提供进程间通信能力,wantAgent接口验证系统能力。
48* 源码链接:[service.ts](entry/src/main/ets/ServiceAbility/service.ts),[EntryAbility.ts](entry/src/main/ets/entryability/EntryAbility.ts),[ServiceModel.ets](entry/src/main/ets/model/ServiceModel.ets),[Game.ets](entry/src/main/ets/pages/Game.ets)
49* 接口参考[@ohos.resourceschedule.usageStatistics](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-backgroundtasks-kit/js-apis-resourceschedule-deviceUsageStatistics-sys.md),[@ohos.backgroundTaskManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-backgroundtasks-kit/js-apis-backgroundTaskManager-sys.md),[@ohos.wantAgent](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-wantAgent-sys.md),[@ohos.app.ability.ServiceExtensionAbility](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-serviceExtensionAbility-sys.md),[@ohos.rpc](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ipc-kit/js-apis-rpc.md)
50
51### 相关权限
52
53后台持续运行: [ohos.permission.KEEP_BACKGROUND_RUNNING](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionkeep_background_running)
54
55查询其他应用的运行时间: [ohos.permission.BUNDLE_ACTIVE_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionbundle_active_info)
56
57后台代理提醒: [ohos.permission.PUBLISH_AGENT_REMINDER](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionpublish_agent_reminder)
58
59### 依赖
60
61不涉及。
62
63### 约束与限制
64
651.本示例仅支持在标准系统上运行。
66
672.本示例已适配API version 9版本SDK,版本号:3.2.11.9。
68
693.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。
70
714.本示例所配置的权限ohos.permission.BUNDLE_ACTIVE_INFO为system_basic级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看) ,需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/security/hapsigntool-overview.md)72
735.本示例需要使用@ohos.resourceschedule.usageStatistics、@ohos.app.ability.ServiceExtensionAbility系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)74
75### 下载
76
77如需单独下载本工程,执行如下命令:
78```
79git init
80git config core.sparsecheckout true
81echo code/SystemFeature/TaskManagement/Flybird/ > .git/info/sparse-checkout
82git remote add origin https://gitee.com/openharmony/applications_app_samples.git
83git pull origin master
84
85```