HarmonyOS 鸿蒙Next关于want拉起界面问题
HarmonyOS 鸿蒙Next关于want拉起界面问题
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ability-api-V13
官方文档中提供了拉起HOME-WLAN界面的uri为’wifi_entry’,我想知道其他界面的uri地址(比如定位设置、通知设置)
// 拉起"设置"应用的HOME-WLAN界面
function startSettingsAbilityWifi(context: common.UIAbilityContext): void {
let want: Want = {
bundleName: ‘com.huawei.hmos.settings’,
abilityName: ‘com.huawei.hmos.settings.MainAbility’,
// 根据”设置”应用配置的界面信息,选择不同的uri
uri: ‘wifi_entry’
};
context.startAbility(want).then(() => {
console.info(‘Start settings ability successfully.’);
}).catch((err: BusinessError) => {
console.error(Failed to startAbility. Code: ${err.code}, message: ${err.message}
);
});
}
更多关于HarmonyOS 鸿蒙Next关于want拉起界面问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
import common from '@ohos.app.ability.common';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
[@State](/user/State) message: string = 'Hello World';
build() {
Row() {
Column() {
Button('跳转到设置').onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
context.startAbility({
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility',
parameters: {
pushParams: 'com.example.tosettingdemo'// 应用包名
}
});
})
Button('to蓝牙').onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
context.startAbility({
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility', // com.huawei.hmos.settings.AppInfoAbility
uri: 'bluetooth_entry', //application_settings application_info_entry
});
})
Button('toWLAN页面').onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
context.startAbility({
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility', // com.huawei.hmos.settings.AppInfoAbility
uri: 'wifi_entry', //application_settings application_info_entry
});
})
Button('to应用信息').onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
context.startAbility({
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility', // com.huawei.hmos.settings.AppInfoAbility
uri: 'application_info_entry', //application_settings application_info_entry
parameters: {
pushParams: context.abilityInfo.bundleName // 应用包名com.example.tosettingdemo ‘uiAbilityContext.abilityInfo.bundleName’
}
});
})
}
}
}
更多关于HarmonyOS 鸿蒙Next关于want拉起界面问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
// 拉起"设置"应用的HOME-WLAN界面
function startSettingsAbilityWifi(context: common.UIAbilityContext): void {
let want: Want = {
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility',
// 根据”设置”应用配置的界面信息,选择不同的uri
uri: 'wifi_entry'
};
context.startAbility(want).then(() => {
console.info('Start settings ability successfully.');
}).catch((err: BusinessError) => {
console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
});
复制
若需拉起设置应用的其他界面可参考下表,修改uri字段即可:
表1 设置应用相关界面对应的uri字段选择 字段 | 拉起界面 | 手机设备是否支持 | 2in1设备是否支持 |
---|---|---|---|
/ | HOME-设置 | 是 | 是 |
wifi_entry | HOME-WLAN | 是 | 是 |
bluetooth_entry | HOME-蓝牙 | 是 | 是 |
mobile_network_entry | HOME-移动网络 | 是 | 是 |
hotspot_data_settings | HOME-移动网络-个人热点界面 | 是 | 是 |
password_entry | HOME-移动网络-个人热点-密码界面 | 是 | 是 |
connected_device_entry | HOME-移动网络-个人热点-已连接设备界面 | 是 | 是 |
more_share_entry | HOME-移动网络-个人热点-更多共享设置界面 | 是 | 是 |
more_connections_settings | HOME-更多连接 | 是 | 是 |
nfc_settings | HOME-更多连接-NFC三级页面 | 是 | 是 |
display_settings | HOME-显示和亮度 | 是 | 是 |
screen_zoom | HOME-显示和亮度-显示大小三级页面 | 是 | 是 |
screen_refresh_rate_entry | HOME-显示和亮度-屏幕刷新率三级页面 | 是 | 需看具体设备是否有刷新率选项 |
volume_settings | HOME-声音和振动 | 是 | 是 |
systemui_notification_settings | HOME-通知和状态栏 | 是 | 是 |
accessibility_feature | HOME-辅助功能 | 是 | 是 |
accessibility_operation_entry | HOME-辅助功能-辅助功能快捷键三级页面 | 是 | 是 |
accessibility_more_settings_entry | HOME-辅助功能-已安装的服务-服务详情-更多设置五级页面 | 是 | 是 |
application_and_service_settings | HOME-应用与元服务 | 是 | 是 |
application_settings | HOME-应用与服务-应用管理三级页面 | 是 | 是 |
application_info_entry | HOME-应用和元服务HOME-某个具体应用的应用信息,需传递want.parameters.pushParams为具体应用的包名 | 是 | 是 |
storage_settings | HOME-存储界面 | 是 | 是 |
battery | HOME-电池 | 是 | 是 |
biometrics_and_password_settings | HOME-生物识别和密码 | 是 | 是 |
lock_screen_password_title | HOME-生物识别和密码-设置数字锁屏密码 | 是 | 是 |
change_six_to_number_entry | HOME-生物识别和密码-锁屏密码(其他密码类型)-自定义数字密码(设置锁屏数字密码)四级页面 | 是 | 是 |
change_six_to_mixed_entry | HOME-生物识别和密码-锁屏密码(其他密码类型)-混合密码(设置锁屏密码)四级页面 | 是 | 是 |
fingerprint_settings_entry | HOME-生物识别与密码-指纹3级页面 | 是 | 需看具体设备是否支持指纹解锁能力 |
privacy_settings | HOME-隐私与安全 | 是 | 是 |
location_help_entry | HOME-隐私与安全-定位服务-帮助四级页面 | 是 | 是 |
users_accounts | HOME-用户和账户 | 是 | 是 |
current_user | HOME-用户和账户-当前登录(用户)三级页面 | 是 | 是 |
system_and_updates | HOME-系统和更新 | 是 | 是 |
time_zone_settings | HOME-系统和更新-日期时间-时区-时区选择列表 | 是 | 是 |
date_and_time | HOME-系统和更新-日期时间三级页面 | 是 | 是 |
set_language | HOME-系统和更新-语言和输入法-语言和输入法四级页面 | 是 | 是 |
set_language_region | HOME-系统和更新-语言和输入法-语言和地区-语言和地区5级页面 | 是 | 是 |
reset_settings | HOME-系统和更新-重置三级页面 | 是 | 是 |
developer_options_settings | HOME-系统和更新-开发人员选项三级页面 | 是 | 是 |
edit_language_entry | HOME-系统和更新-语言和输入法-语言和地区-编辑(编译语言)五级页面 | 是 | 是 |
add_language_entry | HOME-系统和更新-语言和输入法-语言和地区-添加语言五级页面 | 是 | 是 |
select_region_entry | HOME-系统和更新-语言和输入法-语言和地区-当前地区(选择地区)五级页面 | 是 | 是 |
reset_factory_settings | HOME-系统和更新-重置-恢复出厂设置四级页面 | 是 | 是 |
reset_net_settings | HOME-系统和更新-重置-还原网络设置四级页面 | 是 | 是 |
reset_confirm_settings | HOME-系统和更新-重置-恢复出厂设置-重置手机五级页面 | 是 | 是 |
reset_net_confirm_settings | HOME-系统和更新-重置-还原网络设置-还原网络设置确认五级页面 | 是 | 是 |
about_device | HOME-关于本机界面 | 是 | 是 |
device_name | HOME-关于本机-设备名称 | 是 | 是 |
更多内容可看这里:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-ability-kit#section1932183812391
针对HarmonyOS 鸿蒙Next关于want拉起界面问题,以下是一些专业的解答:
在HarmonyOS中,want是用于描述跨应用或服务间通信的Intent机制的实现。当你想通过want拉起一个界面时,需要确保want对象中的参数正确配置。
-
确保want参数正确:
- actions:指定要执行的动作,如
ohos.want.action.viewData
。 - bundleName和abilityName:指定目标应用的包名和Ability名称。
- uri:用于指定要访问的资源或界面的URI。
- parameters:包含其他必要的参数。
- actions:指定要执行的动作,如
-
隐式want与显式want:
- 隐式want:不指定具体的bundleName和abilityName,而是通过actions、uri等参数进行匹配。
- 显式want:直接指定bundleName和abilityName,精确拉起目标界面。
-
特殊URI的使用:
- 对于某些系统设置界面,可以使用特定的URI来拉起,如
wifi_entry
拉起WLAN界面。
- 对于某些系统设置界面,可以使用特定的URI来拉起,如
-
参数传递与接收:
- 使用want传递参数时,确保接收方能够正确解析和处理这些参数。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。