2026-10-11 22:07:48 +08:00
|
|
|
|
{
|
|
|
|
|
|
"module": {
|
|
|
|
|
|
"name": "entry",
|
|
|
|
|
|
"type": "entry",
|
|
|
|
|
|
"description": "$string:module_desc",
|
|
|
|
|
|
"mainElement": "EntryAbility",
|
|
|
|
|
|
"deviceTypes": [
|
|
|
|
|
|
"phone",
|
|
|
|
|
|
"tablet"
|
|
|
|
|
|
],
|
|
|
|
|
|
"requestPermissions": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "ohos.permission.INTERNET"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "ohos.permission.GET_NETWORK_INFO"
|
2026-10-18 03:35:39 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
// 🔴 质感握姿(左手/右手握持)—— 用户 2026-10-16 第 4 条。
|
|
|
|
|
|
// `multimodalAwareness.motion` 的 `holdingHandChanged` 要求此权限。
|
|
|
|
|
|
// ⚠️ 它是 `system_grant` + `availableLevel: normal` + `provisionEnable: false`
|
|
|
|
|
|
// (在 SDK 的权限定义里核过)⇒ **安装即获得,不会弹授权框**。
|
|
|
|
|
|
// ⚠️ API 20 起才有;低版本设备会抛 801(能力不支持)——
|
|
|
|
|
|
// 代码里已 try/catch 兜住,拿不到就退回默认方向。
|
|
|
|
|
|
"name": "ohos.permission.DETECT_GESTURE"
|
2026-10-11 22:07:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
"deliveryWithInstall": true,
|
|
|
|
|
|
"installationFree": false,
|
2026-10-21 20:01:37 +08:00
|
|
|
|
/* 🔴 v73(用户 2026-10-21「有地址的可以一键导航」):
|
|
|
|
|
|
这是 `bundleManager.canOpenLink()` 的**前置条件**,不是可选配置。
|
|
|
|
|
|
⚠️ 没声明时 `canOpenLink` **不抛错、直接返回 false** ⇒
|
|
|
|
|
|
"手机上装了高德"和"我忘了声明"在运行期长得一模一样,
|
|
|
|
|
|
症状是"导航按钮点了只是复制了一下地点",极难归因。
|
|
|
|
|
|
⚠️ 四个 scheme 必须与 `common/FbNav.ets` 的 `MAP_APPS[].probe` **一一对应**;
|
|
|
|
|
|
加一家地图要么两处一起加,要么两处一起没有。守卫 `_fb_arkts_guard.js` 钉了这条。
|
|
|
|
|
|
⚠️ 只声明 scheme 名(`amapuri`),不带 `://`。 */
|
|
|
|
|
|
"querySchemes": [
|
|
|
|
|
|
"amapuri",
|
|
|
|
|
|
"baidumap",
|
|
|
|
|
|
"maps",
|
|
|
|
|
|
"qqmap"
|
|
|
|
|
|
],
|
2026-10-11 22:07:48 +08:00
|
|
|
|
"pages": "$profile:main_pages",
|
|
|
|
|
|
"abilities": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "EntryAbility",
|
|
|
|
|
|
"srcEntry": "./ets/entryability/EntryAbility.ets",
|
|
|
|
|
|
"description": "$string:EntryAbility_desc",
|
2026-10-18 03:35:39 +08:00
|
|
|
|
// 🔴 v45 修:原为 `$media:layered_image`(分层图标),导致桌面图标
|
|
|
|
|
|
// 外面有一圈米色底、且图案显得小。原因:
|
|
|
|
|
|
// · `background.png` 是**纯米色满幅图**(512²)⇒ 那圈底色;
|
|
|
|
|
|
// · `foreground.png` 的图案**只占 44%**,系统还要留安全区
|
|
|
|
|
|
// ⇒ 图案被缩得更小。
|
|
|
|
|
|
// 另一个真 bug:`app.json5` 的分层图在 **AppScope** 下找,
|
|
|
|
|
|
// 但 `background/foreground.png` **只在 entry 里**,AppScope 里没有
|
|
|
|
|
|
// ⇒ 引用落空。
|
|
|
|
|
|
// ⇒ 直接改用与应用内左上角**同一个** `fb_logo`(图案几乎铺满)。
|
|
|
|
|
|
"icon": "$media:fb_logo",
|
2026-10-11 22:07:48 +08:00
|
|
|
|
"label": "$string:EntryAbility_label",
|
|
|
|
|
|
"startWindowIcon": "$media:startIcon",
|
|
|
|
|
|
"startWindowBackground": "$color:start_window_background",
|
|
|
|
|
|
"exported": true,
|
|
|
|
|
|
"orientation": "auto_rotation_restricted",
|
|
|
|
|
|
"skills": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"entities": [
|
|
|
|
|
|
"entity.system.home"
|
|
|
|
|
|
],
|
|
|
|
|
|
"actions": [
|
|
|
|
|
|
"ohos.want.action.home"
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
"extensionAbilities": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "EntryBackupAbility",
|
|
|
|
|
|
"srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets",
|
|
|
|
|
|
"type": "backup",
|
|
|
|
|
|
"exported": false,
|
|
|
|
|
|
"metadata": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "ohos.extension.backup",
|
|
|
|
|
|
"resource": "$profile:backup_config"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
2026-10-20 15:27:32 +08:00
|
|
|
|
},
|
|
|
|
|
|
// 🔴 v66(用户 2026-10-20「做几个和 syncCalendar 差不多的卡片」):
|
|
|
|
|
|
// 桌面服务卡片。三种尺寸(2×2 / 2×4 / 4×4)都登记在 `form_config.json`,
|
|
|
|
|
|
// 这里只声明**提供方**(FormExtensionAbility)。
|
|
|
|
|
|
// ⚠️ `type` 必须是 `form`,`metadata` 的名字必须是 `ohos.extension.form`,
|
|
|
|
|
|
// 少一个桌面就把这个应用当成"没有卡片"。
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "FbFormAbility",
|
|
|
|
|
|
"srcEntry": "./ets/entryformability/FbFormAbility.ets",
|
|
|
|
|
|
"description": "$string:form_ability_desc",
|
|
|
|
|
|
"type": "form",
|
|
|
|
|
|
"exported": true,
|
|
|
|
|
|
"metadata": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "ohos.extension.form",
|
|
|
|
|
|
"resource": "$profile:form_config"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
2026-10-24 04:25:15 +08:00
|
|
|
|
},
|
|
|
|
|
|
// 🔴 v83(用户 2026-10-23「要有定期同步的功能,家书app在后台也能自动同步」):
|
|
|
|
|
|
// 延迟任务扩展。由 `common/FbBackgroundSync.ets` 用 `workScheduler.startWork`
|
|
|
|
|
|
// 注册(周期 2 小时、`isPersisted` 重启自动恢复)。
|
|
|
|
|
|
// ⚠️ `name` 必须与 `FbBackgroundSync.ets` 里的 `WORK_ABILITY` **逐字相同**,
|
|
|
|
|
|
// 否则 `startWork` 不报错、但**永远不会有回调**(系统找不到这个扩展)。
|
|
|
|
|
|
// ⚠️ `type` 必须是 `workScheduler`;`exported: false` —— 它只由系统拉起,
|
|
|
|
|
|
// 不需要(也不应该)被别的应用调起。
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "FbSyncWorkAbility",
|
|
|
|
|
|
"srcEntry": "./ets/syncwork/FbSyncWorkAbility.ets",
|
|
|
|
|
|
"type": "workScheduler",
|
|
|
|
|
|
"exported": false
|
2026-10-11 22:07:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|