【HarmonyOS NEXT】API 11 跳转系统设置定位服务页面示例

【关键字】

HarmonyOS NEXT、系统设置、定位服务

 

【问题背景】

某些开发者根据业务逻辑,需要检测用户是否开启定位服务开关,如果没有开启,需要引导用户跳转至系统页面打开定位服务,今天就给大家提供一个跳转至设置-隐私-位置服务页面的示例demo。

 

【示例代码】

import { Want , common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

// 拉起设置-隐私-位置服务页面
function startSettingsLocationSettingsAbilityExplicit(context: common.UIAbilityContext): void {
  let want: Want = {
    bundleName: 'com.huawei.hmos.settings',
    abilityName: 'com.huawei.hmos.settings.MainAbility',
    uri: 'location_manager_settings' // 根据设置界面的不同选择不同的uri
  };
  context.startAbility(want)
    .then(() => {
      // ...
    })
    .catch((err: BusinessError) => {
      console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
    });
}

@Entry
@Component
struct Index {
  @State message: string = '跳转定位服务';

  build() {
    Row() {
      Column() {
        Button(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
            startSettingsLocationSettingsAbilityExplicit(context);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

 

【示例效果】

拉起其他设置应用中的常用界面可参考【参考文档】这块内容。

 

【参考文档】

如何拉起设置应用的常用界面:

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-ability-kit-0000001769732194#section858910165268

posted @ 2024-03-21 16:45  Mayism123  阅读(104)  评论(0编辑  收藏  举报