HarmonyOS鸿蒙Next中app前往系统设置开启通知,只能到通知和状态栏那一级,到不了对应app的通知管理页面

HarmonyOS鸿蒙Next中app前往系统设置开启通知,只能到通知和状态栏那一级,到不了对应app的通知管理页面

static async toAppSetting(uri: string = AppUtil.uri_info): Promise<void> {
  let context = AppUtil.getContext();
  let want: Want = {
    bundleName: 'com.huawei.hmos.settings', //设置应用bundleName
    abilityName: 'com.huawei.hmos.settings.MainAbility', //设置应用abilityName
    uri: 'systemui_notification_settings', //目标页面
    parameters: {
      bundleName: context.abilityInfo.bundleName, //拉起方应用包名
      pushParams: context.abilityInfo.bundleName, //拉起方应用包名
    }
  }
  return await context.startAbility(want)
}

以上写法有问题吗?如有问题请指正


更多关于HarmonyOS鸿蒙Next中app前往系统设置开启通知,只能到通知和状态栏那一级,到不了对应app的通知管理页面的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

试下这个呢

Button("打开通知设置").onClick(() => {
  let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
  let want: Want = {
    bundleName: 'com.huawei.hmos.settings', //设置应用bundleName
    abilityName: 'com.huawei.hmos.settings.MainAbility', //设置应用abilityName
    uri: "systemui_notification_settings", //通知管理页面
    parameters: {
      pushParams: {
        bundleName: context.abilityInfo.bundleName//拉起方应用包名
      }
    }
  }
  context.startAbility(want)
})
/**
* 跳转应用设置页面(调用此方法到设置,手动开启权限)
*/
static async toAppSetting(uri: string = AppUtil.uri_info): Promise<void> {
  let context = AppUtil.getContext();
  let want: Want = {
    bundleName: 'com.huawei.hmos.settings', //设置应用bundleName
    abilityName: 'com.huawei.hmos.settings.MainAbility', //设置应用abilityName
    uri: uri, //目标页面
    parameters: {
      bundleName: context.abilityInfo.bundleName, //拉起方应用包名
      pushParams: context.abilityInfo.bundleName, //拉起方应用包名
    }
  }
  return await context.startAbility(want)
}

更多关于HarmonyOS鸿蒙Next中app前往系统设置开启通知,只能到通知和状态栏那一级,到不了对应app的通知管理页面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


let want: Want = { bundleName: ‘com.huawei.hmos.settings’, abilityName: ‘com.huawei.hmos.settings.MainAbility’, uri: ‘systemui_notification_settings’, parameters: { pushParams: { bundleName: abilityContext.abilityInfo.bundleName //拉起方应用包名 } } };

试一下这个,实测有的手机可以跳转到应用的通知设置页,有的手机不行,应该和手机系统也有关系

在HarmonyOS鸿蒙Next中,如果app请求跳转至系统设置以开启通知,默认情况下只能跳转到“通知和状态栏”一级,无法直接跳转到特定app的通知管理页面。这是因为系统设计上限制了直接深度跳转的权限,以确保系统的安全性和稳定性。开发者需要通过系统提供的API来处理通知权限的请求,但具体的跳转层级由系统控制。如果需要更精细的通知管理,用户需手动在“通知和状态栏”页面中找到对应app进行设置。

在HarmonyOS鸿蒙Next中,目前API权限限制,无法直接跳转到特定应用的通知管理页面,只能引导用户到“通知和状态栏”设置。建议在应用内提供详细指引,帮助用户手动进入对应应用的通知管理页面进行设置。

回到顶部