OpenHarmony开发者论坛
标题:
OpenHarmony:如何查询想要打开的设置页面的uri
[打印本页]
作者:
我心永恒
时间:
2025-4-21 21:33
标题:
OpenHarmony:如何查询想要打开的设置页面的uri
[md]以下是根据你提供的要求撰写的求助帖子模板,内容需要根据实际开发情况补充细节:
---
### 【问题描述】
#### 1. 问题现象和背景
在开发OpenHarmony应用时,我需要通过 `startAbility`跳转到系统设置中的特定子页面(如网络设置、声音设置等)。但尝试了多个URI均无法正确跳转到目标页面,甚至出现跳转失败或页面不匹配的情况。由于官方文档未明确列出所有设置页面对应的URI,导致功能开发受阻。
#### 2. 相关代码
```javascript
/**
* 打开显示与亮度设置页面
* @param context UIAbilityContext实例
*/
static openDisplaySettings(context: common.UIAbilityContext): void {
try {
const want: Want = {
bundleName: 'com.ohos.settings',
abilityName: 'com.ohos.settings.MainAbility',
uri: 'display_settings'
}
context.startAbility(want)
.then(() => {
myLog.debug('SystemSettingsUtils', '成功打开显示设置页面');
})
.catch((err: BusinessError) => {
myLog.error('SystemSettingsUtils', `打开显示设置失败: ${JSON.stringify(err)}`);
ToastUtil.showToast('无法打开显示设置,请手动操作');
});
} catch (error) {
myLog.error('SystemSettingsUtils', `打开显示设置异常: ${error}`);
ToastUtil.showToast('无法打开显示设置,请手动操作');
}
}
}
```
#### 3. 运行结果与错误
- **预期结果**:正常跳转到系统网络设置页面。
- **实际结果**:
- 跳转至默认设置主页,而非目标子页面。
- 错误日志:`"Error code: 202, message: URI is invalid."`
- (可选:补充错误截图路径或文字描述崩溃现象)
#### 4. 尝试过的解决方法
1. **查阅官方文档**:参考[系统能力接口文档](
https://gitee.com/openharmony/docs
),但未找到完整的URI列表。
2. **搜索社区案例**:尝试使用 `"settings.wireless"`、`"settings.sound"`等常见URI,部分跳转失败,部分页面不匹配。
3. **检查权限配置**:已在 `config.json`中添加权限声明,确认非权限问题导致。
#### 5. 期望结果
获取**系统设置子页面(如网络设置、应用管理)的正确URI格式**,并实现精准跳转。
---
### 【运行环境】
请根据实际情况补充(示例):
- **硬件**:RK3568开发板
- **ROM版本**:OpenHarmony 5.0.0Release
- **DevEvoStudio版本**:5.0.2
- **SDK版本**:API 12
---
### 补充说明
1. **需要明确的问题**:
- 是否有官方途径查询所有系统设置页面的URI?
- 跳转系统设置是否需要特殊权限?
2. **附加信息**:
- (可选)提供您验证成功的URI案例或相关日志片段。
---
### 注意事项
- 发布前请替换模板中的占位内容(如硬件型号、版本号)。
- 如果是崩溃问题,建议附加完整的错误堆栈日志。
- 可附上 `config.json`中的 `abilities`或 `requestPermissions`配置片段。
[/md]
作者:
onefan
时间:
2025-4-22 09:38
uri需要带上pages/
如:uri: 'pages/wifi'
'com.ohos.settings', 'com.ohos.settings.MainAbility', { uri: 'pages/wifi' })
需要对应的列表需要查询
https://gitee.com/openharmony/applications_settings
的代码。
音量: "pages/volumeControl",
wifi: "pages/wifi",
关于设备:"pages/aboutDevice",
移动数据: "pages/mobileNetwork",
等等。。。
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5